【linux】 あるディレクトリの下にいくつファイルがあるか調べる
問題
あるディレクトリの下にいくつファイルがあるか調べたい。
例)メールを保存しているディレクトリの中で容量ではなくてファイル数としてはどんな状況となっているか調べたい。
答え
あるディレクトリ直下のファイルの数を調べる
1オプションで1列に並べて、Uオプションはソート不要のオプションで高速化、負荷軽減のため。wcで行数を数える。
ls -1U | wc -l (結果) 123
あるディレクトリをサブディレクトリ含めてファイルの数を調べる
Rオプションでサブディレクトリも対象にする。
ディレクトリまで含んでしまうけど大体の目安はつかめる。
ls -1UR | wc -l (結果) 12345
あるディレクトリ直下にあるディレクトリそれぞれの中のファイルの数を調べる
・あるディレクトリの直下にメールアドレスごとのディレクトリがあって、その中のメールの数を知りたいとき
・あるディレクトリの下に案件ごとのディレクトリがあって、その中のファイル数を数えたいとき
などに。
$ cd 対象のディレクトリ $ for x in * ; do echo $x ; ls -1UR $x | wc -l ; done (結果) aaa 1234 bbb 2345 ccc 3456 ddd 4567 eee 5678
findでファイル一覧を出す
find の -type f でファイルを検索する。出てきたものをwcでカウントする。
$ find 対象のディレクトリ -type f | wc
メモ
ls -f
は、-aU
有効の-ls --color
無効と同じそうで、「.」と[
..」も出てくる。ls -f
もソートはしないので、こちらでもよい。
コメント