以下内容将截断文件以占用第一行并覆盖它, 我想知道是否有更清洁的方法来做到这一点:
touch temp.txt; cat versions.txt | head -1 > temp.txt; mv temp.txt versions.txt
请注意,这不起作用:
cat versions.txt | head -1 > versions.txt
并且大多数系统都不需要touch
答案 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