我必须编写一个脚本,如果满足条件(例如:文件夹以'A'开头)然后递归地打开每个满足条件的目录并wc
在里面的文件上做。如果目录中的文件超过 50 个,则使用 . 回显目录名称wc
。
问问题
79 次
2 回答
1
看起来您想要查找以 A 开头且包含 50 多个文件的所有目录。
以下命令列出满足字符串名称条件的所有目录(如果其中包含超过 50 个文件)
NAME="A*"
find . -type d -name "$NAME" -exec sh -c 'echo $(ls "{}" |wc -l) "{}"' \; | awk 'int($1)>=50'
于 2013-10-19T16:40:37.547 回答
0
这个脚本应该为你工作:
PREFIX="A"
while read dir; do
numDir=$(d=( $dir*/ .$dir/*/ ) && echo "${#d[@]}")
numFileDir=$(a=( $dir/* $dir/.* ) && echo "${#a[@]}")
[[ ((numFileDir-numDir > 50)) ]] && echo "$dir: " $((numFileDir-numDir))
done < <(find . -type d -name "$PREFIX")
于 2013-10-19T17:16:12.830 回答