特定の文字列を含む行と次の行を削除します。

特定の文字列を含む行と次の行を削除します。

私はこれを使う

cat foo.txt | sed '/bar/d'

barこの文字列を含むファイルの行を削除します。

しかし、この行を削除したいです。そしてすぐ次の行。 MinGW32で利用可能な他のツールを使用することsedをお勧めします。awk

これは、一致する行と一致する行の前後の行をgrep印刷できる場所とは反対です。-A-B

これを達成する簡単な方法はありますか?

ベストアンサー1

GNU sed(組み込みのLinuxまたはCygwin)がある場合:

sed '/bar/,+1 d'

bar行に2つの行がある場合は、2番目の行を解析せずに削除します。たとえば、bar// 3行のファイルがある場合、その行barfoo保持fooされます。

おすすめ記事