1. ホーム
  2. shell

[解決済み] テキストファイルから、特定の文字列を含むすべての行を削除するにはどうすればよいですか?

2022-03-16 09:22:42

質問

sed を使って、特定の文字列を含むテキストファイルのすべての行を削除するにはどうしたらよいでしょうか。

どのように解決するのですか?

行を削除して、出力を標準出力に出力する。

sed '/pattern to match/d' ./infile

ファイルを直接修正する場合 - BSD sedでは動作しません。

sed -i '/pattern to match/d' ./infile

同じですが、BSD sed (Mac OS X と FreeBSD) 用です - GNU sed では動きません。

sed -i '' '/pattern to match/d' ./infile

ファイルを直接修正する (そしてバックアップを作成する) - BSD と GNU sed で動作します。

sed -i.bak '/pattern to match/d' ./infile