对文件“foo”进行排序并使用重定向“>”将输出保存到同一个“foo”文件中

对文件“foo”进行排序并使用重定向“>”将输出保存到同一个“foo”文件中

我有一个文本文件〜/ foo:

a
b
c
a
b
c

我使用sort foo -u,并且工作正常。我可以使用重定向运算符“">”将输出保存到其他文件中(fe:)sort foo -u > bar,但是当我想将其保存到原始文件中时,sort foo -u > foo我会得到空文件。为什么会发生这种事?

答案1

这是因为>由 shell 解释并打开一个名为 的空文件foo。如果您想保留相同的文件名,则需要将输出保存到另一个文件并将其重命名为原始文件。

相关内容