【问题标题】:Error while getting disk usage of a folder in unix在 unix 中获取文件夹的磁盘使用情况时出错
【发布时间】:2016-05-25 13:01:29
【问题描述】:

我有XYZ=/opt/Ind/opt/Ind 下的某些目录

我对目录进行了排序:ls -t $XYZ 然后我只需要获取第一个文件夹的 size 。 我试过了

du -sk $(ls -t $XYZ/TAL/ | head -n 1)

它给了我这个错误

du: cannot access `\033[0m\033[01;34m20160525_033732\033[0m': No such file or directory

很高兴得到帮助。

【问题讨论】:

    标签: bash shell unix du


    【解决方案1】:

    这里的问题是您使用的不是普通的ls,而是别名,因此它为您提供了一些彩色输出。这样一来,您将获得蓝色而不是普通名称 20160525_033732

    $ echo -e "\033[0m\033[01;34m20160525_033732\033[0m"
    20160525_033732
    

    只需使用\ls to use the original ls without any alias

    du -sk "$(\ls -t $XYZ/TAL/ | head -n 1)"
    #         ^
    

    查看别名的含义:

    type ls
    

    它可能会返回如下内容:

    ls is aliased to `ls --color=always'
    

    【讨论】:

    • 我可以用这个命令只打印大小而不是文件夹名称吗
    • @MohitArora 当然。你可以说du file | awk '{print $1}'
    【解决方案2】:

    --color=never 添加到 ls 中,这样它就不会着色输出:

    du -sk $(ls --color=never -t $XYZ/TAL/ | head -n 1)
    

    【讨论】:

      猜你喜欢
      • 2015-11-06
      • 1970-01-01
      • 2019-05-02
      • 1970-01-01
      • 1970-01-01
      • 2021-03-29
      • 1970-01-01
      • 2018-06-30
      • 2016-05-28
      相关资源
      最近更新 更多