新・OS X ハッキング! (156) 機能逆引きなら使える? 便利に使えるワンフレーズコマンド集(3)
とファイルサイズの合計値まで表示されてしまう。この行さえなければ、「ls -l」で出力された行数をwcコマンドでカウントすると、ファイル/フォルダの個数がわかるのだが……。
そこで利用するのが、先ほど紹介したexprコマンド。「ls -l」の出力結果を「wc -l」にパイプし、その値から1を引くという寸法。タネを明かせばどうということもない話だが、コマンドも組み合わせ次第でいろいろなことができるという好例だ。
$ expr $((`ls -l | wc -l` -1))
○フォルダのみ/ファイルのみの個数をカウントする
ファイル/フォルダを一覧するコマンドには「ls」が用意されているものの、UNIXでは伝統的にファイルとフォルダ(ディレクトリ)を明確に区別しないためか、ファイル/フォルダそれぞれに絞って一覧することができない。前述の方法では、ファイル/フォルダを分けて数えることは困難だ。しかし、目先を変えてみよう。
lsコマンドでは、「-F」オプションを付けるとフォルダの末尾には「/」が付く。これが行に含まれるかどうか判定すれば、フォルダのみ抽出できるというわけだ。つまり、lsコマンドの出力結果をgrepコマンドにパイプすればOK。