sedで検索文字列の次の行を消したい時に困ったので備忘録を残しておこうと思います。
環境
mac
方法
$ sed -e '/検索文字列/{n;d;}' ファイル名
例えば、
hoge.txt
aaa
bbb
ccc
ddd
に対して
$ sed -e '/bbb/{n;d;}' hoge.txt
上記コマンドを実行すると
aaa
bbb
ddd
この様な結果が得られます。
注意しないといけないのは、中括弧の中の最後のコマンドにもセミコロンをつけてあげないとextra characters at the end of d command
とエラーになります。
次の次の行
$ sed -e '/検索文字列/{n;n;d;}' ファイル名
-iオプション
-i
をつけるとファイルが直接書き換えられます。