1

我有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

会很高兴得到帮助。

4

2 回答 2

2

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

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

只需使用没有任何别名\ls的原始ls文件。

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

查看别名是什么:

type ls

它可能会返回如下内容:

ls is aliased to `ls --color=always'
于 2016-05-25T13:25:03.923 回答
0

添加--color=never到 ls 所以它不会着色输出:

du -sk $(ls --color=never -t $XYZ/TAL/ | head -n 1)
于 2016-05-25T13:24:22.113 回答