-2

我必须编写一个脚本,如果满足条件(例如:文件夹以'A'开头)然后递归地打开每个满足条件的目录并wc在里面的文件上做。如果目录中的文件超过 50 个,则使用 . 回显目录名称wc

4

2 回答 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 回答