
注文する
grep "foo" myfile.txt
私のファイルから一致するすべての行を印刷します。
今は変えたい全体的に別のロープを使用してください。どうすればいいですか?
答え1
行全体の部分文字列を一致させるには、sedのs
コマンドと正規表現を使用して行の残りの部分を消去できます。
sed -i 's/^.*foo.*$/another string/' myfile.txt
または、c
次のコマンドを使用して一致する行を一度に置き換えます。
sed -i '/foo/ { c \
another string
}' myfile.txt
プロンプトで複数行のコマンドを入力したくない場合は、スクリプトに入力するだけです。
$ cat foo.sed
/foo/ { c \
another string
}
$ sed -i -f foo.sed myfile.txt
答え2
あなたはそれを使用することができます所定の位置に機能sed:
sed -i -e 's/foo/bar/' myfile.txt