在 bash 上,我尝试使用以下命令删除文件的最后 3 列:
head -n -3 文件 > 文件
但文件是空的。我可以解决这个问题,但我想知道是什么原因造成的。
非常感谢!
答案1
让我们分析一下该命令的作用。
> file
这将打开
file
以进行写入,然后将其截断。head -n -3 file
这将读取除最后 3 行之外的所有内容
file
。file
是的,和您在步骤 1 中截断的相同。
答案2
答案3
你可以在 Ex 模式下使用 Vim:
ex -sc '-2,d|x' file
-2,
选择最后 3 行d
删除x
保存并关闭