linux截断第一行 - 是否有更好的方法

时间:2013-10-16 20:25:05

标签: linux bash

以下内容将截断文件以占用第一行并覆盖它, 我想知道是否有更清洁的方法来做到这一点:

touch temp.txt; cat versions.txt | head -1 > temp.txt; mv temp.txt versions.txt

请注意,这不起作用:

cat versions.txt | head -1 > versions.txt

并且大多数系统都不需要touch

4 个答案:

答案 0 :(得分:4)

这是一种就地执行的方法

ex -c ':2,$d' -c ':wq' versions.txt

答案 1 :(得分:3)

您可以使用sed在一个命令中执行此操作:

sed -i -n 1p versions.txt

答案 2 :(得分:3)

像这样使用sed:

sed -i.bak '1d' file

答案 3 :(得分:3)

关于这个

ONE=`awk 'NR==1 {print;exit}' versions.txt`&& echo $ONE>versions.txt