{}
ブロック内でパターンが見つかったら、中括弧ブロック+「名前」(2単語プレフィックス)を削除したいと思います。魔法を
少し使ってみましたが、sed
効果がありませんでした。
たとえば、
- パターン:パターンパターン-X
入力する
m m1 {
s s1;
s s2;
c c1 {
s s3;
c c2 {
PATTERN PATTERN-X
...
}
s s4;
}
c c3 {
PATTERN PATTERN-X
...
c c4 {
s s4;
}
}
}
出力
m m1 {
s s1;
s s2;
c c1 {
s s3;
s s4;
}
}
ベストアンサー1
これを試してみてください。
awk '
$0~/{/{
if(b) {
print b
b=""
}
if(c)
c++
}
$0~/PATTERN/ {
b=""
c=2
}
$0~/}/ {
if(c)
c--
}
!c {
if(b)
b=b RS
b=b $0
}
END {
print b
}
' infile