ファイルに次の内容が含まれている場合:
Line 1
FooLine 5
Line 2
Line 55
Line 3
Line 4
Line 5
Line 6
Line 7
Line 5
Line 8
Line 9
これで、ファイルに次の内容のみが含まれるように、「5行目」の2行下の行を削除するにはどうすればよいですか?
Line 1
FooLine 5
Line 2
Line 55
Line 3
Line 4
Line 5
Line 6
Line 7
注:これは質問のわずかに改善された反転バージョンです。最初の一致を含む行の上のn行前のすべての行を削除します。
ベストアンサー1
そしてsed
:
$ sed '/^Line 5$/{n;n;q;}' file
Line 1
FooLine 5
Line 2
Line 55
Line 3
Line 4
Line 5
Line 6
Line 7
ファイルを適切に編集するには、-i
GNUsed
または互換バージョン、-i ''
FreeBSD sed
、または互換バージョンオプションを追加します。