在unix中获取文件夹的磁盘使用时出错

时间:2016-05-25 13:01:30

标签: bash shell unix du

我有XYZ=/opt/Ind以及/opt/Ind

下的某些目录

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

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

很高兴能得到帮助。

2 个答案:

答案 0 :(得分:2)

这里的问题是你没有使用普通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'

答案 1 :(得分:0)

--color=never添加到ls中,以便它不会使输出着色:

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