我有XYZ=/opt/Ind
和某些目录/opt/Ind
我按以下方式对目录进行了排序:ls -t $XYZ
然后我只需要获取第一个文件夹的大小。我试过了
du -sk $(ls -t $XYZ/TAL/ | head -n 1)
它给了我这个错误
du: cannot access ` 33[0m 33[01;34m20160525_033732 33[0m': No such file or directory
会很高兴得到帮助。
这里的问题是你没有使用普通的ls
而是别名,所以它为你提供了一些彩色输出。这样,您可以获得蓝色的20160525_033732
而不是正常名称。
$ echo -e " 33[0m 33[01;34m20160525_033732 33[0m"
20160525_033732
只需使用 ls
即可使用没有任何别名的原始ls
。
du -sk "$(ls -t $XYZ/TAL/ | head -n 1)"
# ^
查看别名的用途:
type ls
它可能会返回类似以下内容:
ls is aliased to `ls --color=always'
将
--color=never
添加到 ls 中,这样它就不会使输出着色:
du -sk $(ls --color=never -t $XYZ/TAL/ | head -n 1)