フォルダーとそのすべてのサブフォルダーの下にあるファイルの総数の合計を見つけたい。
のようなものかもしれません
find . -type f | wc -l
トリックを行います。親フォルダーからコマンドを試してください。
tree
コマンドを使用します。 tree
パッケージをインストールする必要がある場合があります。
指定されたフォルダーの下にあるすべてのファイルとフォルダーをリストし、最後に要約をリストします。
現在のディレクトリのルートにあるファイル(拡張子のないファイルも含む)をカウントするには、次を使用します。
ls -l | grep ^- | wc -l
現在のディレクトリのルートからファイル(拡張子のないファイルも)再帰的にをカウントするには、次を使用します。
ls -lR | grep ^- | wc -l
最速かつ最も簡単な方法は、tree
を使用することです。その速度は出力ターミナルによって制限されるため、結果をtail -1
にパイプすると、すぐに結果が得られます。 -L
オプションを使用して、結果が好きなディレクトリレベルを制御することもできます。カラー化された出力には、-C
を使用します。例えば:
$ tree share/some/directory/ | tail -1
558 directories, 853 files
$ tree -L 2 share/some/directory/ | tail -1
120 directories, 3 files
まだ存在しない場合は、取得できます here 。
find -type f -printf . | wc -c
99個の改行を含むファイル名は100個のファイルとしてカウントされるため、findの出力行をカウントしないでください。
パス内の各フォルダーに対してこのコマンドを使用します
for D in *; do echo $D; find $D -type f| wc -l; done
findはtreeよりも速いように思えるので、現在の作業ディレクトリの各ディレクトリ内のファイルをカウントするために以下を使用しました(CWDのファイルは無視します)。
ls -d */ | while read dir_line do echo -n "$dir_line :" find "$dir_line" -type f | wc -l done
find . | wc -l
を使用できます
find .
は、現在のフォルダーから始まるすべてのファイルとフォルダー、およびその内容をリストします。wc -l
は、検索の結果をカウントします
私はこのオプションを自分で使います:
ls -alR | grep -c ^-