ファイルで発生するたびに複数行を削除する方法は?

ファイルで発生するたびに複数行を削除する方法は?

次の内容を含む857835行ファイルがあるとします。

a1
rubbish1
rubbish2
rubbish3
rubbish4
a1
rubbish5
rubbish6
rubbish7
rubbish8

a1すべての項目と次の行(rubbish1この場合)を削除したいと思いますrubbish5。どうすればいいですか?

試してみましたが、grep 'a1' -v -A1成功しませんでした。

私のGoogle-fuは今回は役に立ちませんでした。誰かお願いします!

ベストアンサー1

努力する:

sed -e '/^a1$/,+1d' "filename"

/^a1$/ から次の行まで削除するという意味です。

^ と $ は行全体と一致することが保証されるため、隠された a1 は一致しません。

おすすめ記事