条件が満たされた場合 (例: フォルダーが「A」で始まる)、条件に一致する各ディレクトリを再帰的に開き、wc
内部のファイルに対して実行するスクリプトを作成する必要があります。ディレクトリ内に 50 個を超えるファイルがある場合は、ディレクトリ名にwc
.
2 に答える
1
50 を超えるファイルを含む、A で始まるすべてのディレクトリを検索したいようです。
次のコマンドは、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 に答える