いくつかの変更をしたい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
1つのsedに複数の指示を提供できます。たとえば、次のようになります。
sed 's/\t/ /g;/^ *$/d;s/^#/NODIESE/' testfile
この行
- タブをスペースに置き換える
- 空の内容(または空の行)で始まる行を削除します。
- まず、DashをNODIESEに置き換えます。
したがって、テストファイルは一度だけ処理され、sedは一度だけ起動されます。