bash ファイルがあり、これにいくつか変更を加えたいと思っています。
sed -i 's/ / /g' testfile
sed -i -e 's/#[a-z]$//' -e '/^$/d' testfile
sed -i 's/ *$//' testfile
sed '/##=/ r header' testfile
最初のコマンドでは、TAB をスペースに置き換え、その後コメント (## で始まるコメントもあります) と空行を削除します。その後、ファイル内の指定されたパターンの後にファイルを挿入します。コマンドの順序に何か問題がありますか?
答え1
sed を 1 回実行するだけで複数の命令を与えることができます。例:
sed 's/\t/ /g;/^ *$/d;s/^#/NODIESE/' testfile
この一行
- タブをスペースに置き換える
- 空の文字列(または空行)で始まる行を削除します
- 先頭のダッシュをNODIESEという単語に置き換えます
したがって、テスト ファイルは 1 回だけ処理され、sed は 1 回だけ起動されます。