クエリが見つかったテキストブロック(テキスト)を削除するbashスクリプトを作成しようとしています。残念ながら私はそれを動作させることはできません。
次のリストファイルがあります。
[valid_account]
user = doe.john
passw = 4567
mac = 11-22-33-44-bb-cc
s2 = qwe
[valid_account]
user = kent.clark
passw = 1234
mac = 00-11-22-33-aa-bb
s1 = abc
s2 = efg
[valid_account]
user = bond.james
passw = 6789
mac = 44-55-66-77-ee-ff
s4 = bnm
[valid_account]
user = parker.peter
passw = 9876
mac = 77-bb-cc-66-00-aa
s1 = abc
クエリが00-11-22-33-aa-bbの場合、そのクエリに続くテキストブロックをどのように削除できますか?
[valid_account]
user = doe.john
passw = 4567
mac = 11-22-33-44-bb-cc
s2 = qwe
[valid_account]
user = bond.james
passw = 6789
mac = 44-55-66-77-ee-ff
s4 = bnm
[valid_account]
user = parker.peter
passw = 9876
mac = 77-bb-cc-66-00-aa
s1 = abc
ベストアンサー1
GNU sedの使用
sed '/valid_account/!d;:A;N;$bB;/\n$/!bA;:B;/00-11-22-33-aa-bb/d' infile