以下内容将截断文件以获取第一行并覆盖它,我想知道是否有更简洁的方法来执行此操作:
touch temp.txt; cat versions.txt | head -1 > temp.txt; mv temp.txt versions.txt
请注意,这不起作用:
cat versions.txt | head -1 > versions.txt
并且touch
在大多数系统上都不需要
这是就地进行的一种方法
ex -c ':2,$d' -c ':wq' versions.txt
您可以在一个命令中使用 sed 来完成:
sed -i -n 1p versions.txt
像这样使用 sed:
sed -i.bak '1d' file
何关于这个
ONE=`awk 'NR==1 {print;exit}' versions.txt`&& echo $ONE>versions.txt