2016-09-14 7 views
0

そのディレクトリ名にlinuxと一緒にディレクトリ内のファイル数を見つける方法:再帰的に私は、Linux上のディレクトリ構造を以下している

-dirA 
    -dir1 
     -dirX 
     -dirY 
    -dir2 
     -dirX 
     -dirY 
    -dir2 
     -dirX 
     -dirY 
    -dir2 
     -dirX 
     -dirY 
    -dir2 
     -dirX 
     -dirY 
    -dir2 
     -dirX 
     -dirY 
    . 
    . 
    . 
    . 
    . 
    . 
    . 
    . 
    . 
    -dirn 
     -dirX 
     -dirY 

は、私は次のようにファイル数の詳細を取得したいのか、どんな形式:

DIRXとDIRYの
dir1 
dirX = count 
dirY = count 

dir2 
dirX = count 
dirY = count 

dir3 
dirX = count 
dirY = count 

...... 
...... 

dirn 
dirX = count 
dirY = count 

なお、ここでのフォルダ名は以下のコマンドと同じ内部のサブディレクトリDIR1、DIR2 ..... DIRN

私が使用しているが、それは蓄積の結果を与える:

find $DIR -exec stat -c '%F' {} \; | sort | uniq -c | sort -rn 

この

find . -type f | wc -l 

答えて

0

シンプルwhileループはあなたがそれらをファイル数でソートしたい場合は、コマンドの末尾に| sort -nを追加することができ

find "$DIR" -type d -print0 | 
    while IFS= read -r -d '' path; do 
     echo -e "$(ls -A -- "$path" | wc -l)\t$path" 
    done 

十分なはずです(doneキーワードの直後)。

+0

シェルスクリプトとして保存し、 – virendrao

+0

@virendraoを実行する必要があります。 '' $ DIR ''を' '$ 1''で置き換え、 'myscript.sh'として保存し、それをスクリプトとして実行してください。例えば'./myscript.sh"/path/to /ディレクトリ "。 '' $ DIR ''をディレクトリのパスに置き換え、それを端末に貼り付けるだけで直接実行することもできます。 – redneb

関連する問題