find, grep などを用いた慣用コマンド
基本ですが、たまに使おうとすると忘れてます。なので、すぐ思い出せるように例文をメモしておきます。
拡張子が .log で終わるログファイルの中で、’192.168.’ という文字列を含む行の数を出力 (Apache の access ログからローカルアクセス数をカウント)
$ find . -name '*.dat' -type f | xargs grep '192.168.*' | wc -l
拡張子が .log で終わるログファイルの中で、1列目の値に ’192.168.’ という文字列を含む行を抽出し、重複行を含まない行をその数とともに降順にソートして出力 (Apache の access ログからローカルアクセス統計を出力)
$ find . -name '*.log' -type f | xargs awk '{print $1}' | grep '192.168.*' | sort -r | uniq -c