我有兴趣在当前目录中找到n个最大的子目录(例如3),然后列出其中的所有文件。我对查找最大的文件不感兴趣。我知道有很多找到最大文件的解决方案,而这不是我想要的。
我发现我的3个最大的子目录与行:
$ du -hs */ | sort -rh | head -3
结果:
212K 04/
52K 02/
20K 03/
但是以某种方式我无法从这些目录中列出文件(使用ls进行配管是行不通的)。有什么建议怎么做?
您可以在while循环中使用管道命令的结果:
du -hs */ | sort -rh | head -3 | while read -r size dir
do
ls -l "$dir"
done
作为一个班轮:
du -hs */ | sort -rh | head -3 | while read -r size dir ; do ls -l "$dir"; done
由于steeldriver的建议使用read
的while
循环在for
使用循环awk
,处理与空格和特殊字符的文件名以更稳健的方式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句