【发布时间】:2018-07-05 10:18:10
【问题描述】:
我正在尝试使用以下命令对文件进行排序:sort ${filename} > ${filename},结果我得到 - 一个空文件。
有人可以解释为什么我会得到这个结果,我该如何解决?
【问题讨论】:
我正在尝试使用以下命令对文件进行排序:sort ${filename} > ${filename},结果我得到 - 一个空文件。
有人可以解释为什么我会得到这个结果,我该如何解决?
【问题讨论】:
您尝试做的是就地sort,因此可能不受支持,请尝试。
sort ${filename} > temp_file && mv temp_file ${filename}
【讨论】:
简而言之,因为 Bash 在 sort 可以读取文件之前截断文件。除了@RavinderSingh13 的回答,这是修复它的标准方法,您还可以使用moreutils 包中的sponge:
sort ${filename} | sponge ${filename}
【讨论】: