パターンマッチング後に次のレコードを置き換え(または修正)するには?前任者:
1
2
3 blah
4 replace this record
5 blah
6 replace this record
7
8
9
ここでは、前のレコードが「多分」の場合、4番目と6番目のレコードをスキップまたは置き換えたいと思います。
ベストアンサー1
これは次の行を置き換えますblah
。
$ awk 'f{$0="replacement"; f=0} /blah/{f=1} 1' file
1
2
3 blah
replacement
5 blah
replacement
7
8
9
どのように動作しますか?
f{$0="replacement"; f=0}
true
f
(0 以外) の場合、行は置き換えられ、f
0 にリセットされます。/blah/{f=1}
この行が正規表現と一致する場合はtrueに
blah
設定されます。f
1
これはawkのフルライン印刷の秘密の略語です。