【问题标题】:Why I get an empty file when I try to sort it? [duplicate]为什么我在尝试排序时得到一个空文件? [复制]
【发布时间】:2018-07-05 10:18:10
【问题描述】:

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

【问题讨论】:

    标签: bash sorting


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      简而言之,因为 Bash 在 sort 可以读取文件之前截断文件。除了@RavinderSingh13 的回答,这是修复它的标准方法,您还可以使用moreutils 包中的sponge

      sort ${filename} | sponge ${filename}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-05
        • 1970-01-01
        相关资源
        最近更新 更多