列出包含多个大于X的文件的子文件夹/文件夹的Bash脚本



我正在寻找一个bash脚本,可以列出所有文件夹,有

a)子文件夹

b)大于1个文件

遗憾的是,我的bash-fu不够好,无法完成这样的事情,我甚至不知道要为这样的事情拼凑什么。

关于a)我不知道从哪里开始(摆弄ls -R ?)

关于b)我已经可以列出所有大于X大小的文件:

du -sm * | awk '$1 > 500'

但从那时起,我就被困住了。

非常感谢你们的提前帮助。

对于a) findawksort

$ find . -type d | awk -F/ -v OFS=/ '{NF--} NF' | sort -u

查找所有目录,删除最后一层,剩下的仅是具有多重性的父目录,然后过滤。假定文件名中没有换行符。

对于b)类似地

$ find . -size +1M | awk -F/ -v OFS=/ '{NF--} NF' | sort -u 

这是为大于1Mb,如果你想500b,更改为+500c

a)子文件夹

find . -type d  | awk -F/ 'NF>2{print $2}' | sort -u

b)文件大小大于500mb

find . -type f -printf "%p %kn" | awk '$NF>500000'

最新更新