使用 head 删除文件最后一行时出现问题

使用 head 删除文件最后一行时出现问题

我最近正在寻找一种删除文件最后一行的方法foo.txt,并遇到了以下解决方案

head -n -1 foo.txt temp.txt; mv temp.txt foo.txt

效果很好。不过,我也简单地尝试过

头 -n -1 foo.txt > foo.txt

令我惊讶的是,留下了foo.txt一个空的文本文件,我想知道为什么。

我刚刚开始使用 unix,所以我的问题可能相当愚蠢。

答案1

因为重定向>发生了命令的其余部分。

如果您想进行就地编辑,您将需要一个适当的实用程序。例如perlsed。 (或者只是mv按照建议的原始片段进行操作)

相关内容