尝试排序时为什么会得到一个空文件?

时间:2018-07-05 10:18:10

标签: bash sorting

我正在尝试使用以下命令对文件进行排序:sort ${filename} > ${filename},结果是-一个空文件。
有人可以解释为什么我得到这个结果以及如何解决它吗?

2 个答案:

答案 0 :(得分:1)

您要尝试的是就地sort,因此可能不支持,请尝试。

sort ${filename} > temp_file && mv temp_file ${filename}

答案 1 :(得分:1)

简而言之,因为Bash在sort可以读取文件之前将其截断。除了@ RavinderSingh13的答案(这是解决它的标准方法)外,您还可以使用sponge软件包中的moreutils

sort ${filename} | sponge ${filename}
相关问题