![awk - [オフ]の場合、行を変更する](https://linux33.com/image/102107/awk%20-%20%5B%E3%82%AA%E3%83%95%5D%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%E8%A1%8C%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B.png)
2つの直接行しかない場合は、コマンドを介してファイルの行を変更する方法
~から
Line1
LineA
OldLine
到着
Line1
LineA
NewLine
答え1
非常に一般的な入力/出力を考慮すると、これは機能します。
awk '{
if (f == 2)
{
print "NewLine"
next
} else if (/Line1/)
{
f=1
} else if (f == 1 && /LineA/)
{
f=2
} else
{
f=0
}
print
}'
一行形式で。
awk '{if (f == 2) { print "NewLine"; next } else if (/Line1/) { f=1 } else if (f == 1 && /LineA/) { f=2 } else { f=0 } print }'
いくつかの例。
$ echo -en 'Line1\nLineA\nOldLine'|awk '{if (f == 2) { print "NewLine"; next } else if (/Line1/) { f=1 } else if (f == 1 && /LineA/) { f=2 } else { f=0 } print }'
Line1
LineA
NewLine
$ echo -en 'Line1\nLineB\nOldLine'|awk '{if (f == 2) { print "NewLine"; next } else if (/Line1/) { f=1 } else if (f == 1 && /LineA/) { f=2 } else { f=0 } print }'
Line1
LineB
OldLine