如何从bash文本文件中删除前两行和最后四行?

我想从我的文本文件中删除前两行和最后四行。 我怎样才能做到这一点与Bash?

你可以结合尾巴和头部 :

$ tail -n +3 file.txt | head -n -4 > file.txt.new && mv file.txt.new file.txt 

首尾

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

Sed解决scheme

 cat input.txt | sed '1,2d' | sed -n -e :a -e '1,4!{P;N;D;};N;ba' 

这是我发现的最快的方法:

 sed -i 1,2d filename 

您可以使用下面的示例调用bash命令行中的ex编辑器。 注意它使用here文件来结束前面的命令列表。

 ex text.file << EOF 1,2d $ -3,.d x EOF