シェルワンライナー160本ノック問題110
問題110 複数のディレクトリ内のファイル数をカウント
/var/log以下のディレクトリを列挙し、そのそれぞれに対して含まれるファイル数を数える問題だった。早とちりして/var/logを再帰的に調べてファイルを片っ端から列挙してしまった。
解答例は
find . -type d | while read d; do echo -n $d" "; sudo find "$d" -type f -maxdepth 1 | wc -l;done
となる。最初のfindでディレクトリをすべて列挙して、それからその出力をechoに与えて改行なしで出力しなおし、さらにその出力をまたfindに与え、今度は深さ1でファイルの検索を行った。最後に行数を数えて終了した。