Grep: 全行の検索と置換

Grep: 全行の検索と置換

注文する

 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

おすすめ記事