我正在寻找一个bash脚本,而不是列出所有
的文件夹a)子文件夹
或
b)超过1个大于X的文件
可悲的是,我的bash-fu对于完成这样的事情并不是那么好,我甚至都不知道该怎么做才能做到这一点。关于 a) 我不知道从哪里开始(摆弄ls -R
?)
关于 b) 我已经可以列出所有大于X的文件:
du -sm * | awk '$1 > 500'
但从那时起,我就被困住了。
非常感谢您提前帮助。
答案 0 :(得分:1)
对于a find
awk
和sort
$ 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
答案 1 :(得分:1)
a)子文件夹
find . -type d | awk -F/ 'NF>2{print $2}' | sort -u
b)文件大小超过500mb
find . -type f -printf "%p %k\n" | awk '$NF>500000'