繁体   English   中英

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

[英]How to delete first two lines and last four lines from a text file with 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解决方案

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的命令列表。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM