ファイルに次の内容が含まれている場合:
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
これで、ファイルに次の内容のみが含まれるように、「5行目」の前に2行以上ある行を削除するにはどうすればよいですか?
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
ベストアンサー1
ed
以下を使用してアドレスオフセットをサポートする方が簡単です。
printf '%s\n' '/Line 5/-2,$p' | ed -s file
または(ファイルを所定の位置に修正)
printf '%s\n' '1,/Line 5/-3d' 'wq' | ed -s file