[解決済み] '+' (1つまたは複数の出現) が 'sed' コマンドで機能しない
2023-06-21 17:46:46
質問
私は、不要な空白や空行を取り除き、括弧の間にスペースを入れてバランスをとることで、自分のコードを洗練させようとしています。
int a = 4;
if ((a==4) || (b==5))
a++ ;
に変更する必要があります。
int a = 4;
if ( (a==4) || (b==5) )
a++ ;
括弧と空行についてはうまくいきます。しかし、複数のスペースを1つのスペースに減らすことを忘れています。
int a = 4;
if ( (a==4) || (b==5) )
a++ ;
以下は私のスクリプトです。
#!/bin/bash
# Script to refine code
#
filename=read.txt
sed 's/((/( (/g' $filename > new.txt
mv new.txt $filename
sed 's/))/) )/g' $filename > new.txt
mv new.txt $filename
sed 's/ +/ /g' $filename > new.txt
mv new.txt $filename
sed '/^$/d' $filename > new.txt
mv new.txt $filename
また、このスクリプトをもっと簡潔にする方法、例えばコマンドを削除したり、数を減らしたりする方法はないでしょうか?
どのように解決するのですか?
もし、あなたが
GNU sed
を使っているならば
sed -r
を強制します。
sed
が拡張正規表現を使用するよう強制します。
+
. 参照
man sed
:
-r, --regexp-extended
use extended regular expressions in the script.
を使っている場合も同様です。
OS X sed
を使用している場合でも同様ですが、その場合は
sed -E
:
-E Interpret regular expressions as extended (modern) regular expressions
rather than basic regular regular expressions (BRE's).
関連
-
[解決済み] OS X で 'find' コマンドを使用して 'sed' を使用するとエラーが発生する。"無効なコマンドコードです。"
-
[解決済み] macOSアップデート後、Gitが動作しない(xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
-
[解決済み] sedで改行をスペースに置き換えるには?
-
[解決済み] "コード" OSX/MacのVisual Studio Codeのコマンドラインでは動作しない
-
[解決済み] コマンドラインツールが動作しない - OS X El Capitan、Sierra、High Sierra、Mojave
-
[解決済み] Macで-iオプション付きのsedコマンドは失敗するが、Linuxでは動作する。
-
[解決済み】bashで1つのコマンドでシェル変数にデフォルト値を割り当てる。
-
[解決済み】MacOSのsedでカンマを改行で置き換える?
-
[解決済み] なぜsedはすべてのオカレンスを置換しないのですか?
-
[解決済み] Macで$PATHに/usr/local/binを追加する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Mac OSでのIntelliJ IDEA JDKの設定
-
[解決済み] Mac OSXでデフォルトゲートウェイを取得する方法
-
[解決済み] Mac OS Xのビルトインvimのアップデート
-
[解決済み] Mac OSXでJDK 7を使用するにはどうすればよいですか?
-
[解決済み] OS X上のJenkins: xcodebuildでCode Signエラーが発生する
-
[解決済み] SourceTreeでコミットされていない変更を破棄するには?
-
[解決済み] Mac OS Xでmongodを停止するクリーンな方法は何ですか?
-
[解決済み] MacとLinuxでターミナルを使う場合の違いは何ですか?[クローズド]
-
[解決済み] OS X 10.8でCaps LockキーをControlキーにリマップする方法は?重複
-
[解決済み] MacからParallels Windowsのローカルホストにアクセスする【非公開