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

时间:2012-05-05 10:22:03

标签: linux bash

我正在尝试从文本文件中删除前两行和最后四行。我怎么能用Bash做到这一点?

4 个答案:

答案 0 :(得分:78)

您可以合并tailhead

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

答案 1 :(得分:17)

头部和尾部

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'

答案 2 :(得分:9)

这是我发现的最快捷方式:

sed -i 1,2d filename

答案 3 :(得分:3)

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

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