63

テキストファイルから最初の2行と最後の4行を削除しようとしています。Bashでこれを行うにはどうすればよいですか?

4

4 に答える 4

89

あなたは尻尾を組み合わせることができます:

$ tail -n +3 file.txt | head -n -4 > file.txt.new && mv file.txt.new file.txt
于 2012-05-05T10:28:27.707 に答える
21

頭と尻尾

cat input.txt | tail -n +3 | head -n -4

Sedソリューション

cat input.txt | sed '1,2d' | sed -n -e :a -e '1,4!{P;N;D;};N;ba'
于 2012-05-05T11:29:12.127 に答える
12

これは私が見つけた最も速い方法です:

sed -i 1,2d filename
于 2013-08-09T20:35:22.710 に答える
3

次のサンプルを使用して、bashコマンドラインからexエディターを呼び出すことができます。ヒアドキュメントを使用して、exへのコマンドのリストを終了することに注意してください。

ex text.file << EOF
1,2d
$
-3,.d
x
EOF
于 2012-05-06T11:32:04.407 に答える