$ grep 'nya' **/*(.)
とか便利ですよね。カレントディレクトリ以下の通常ファイルを再帰的に見ていって、全部grepするの。
よく使います。
ですが、gitで管理しているディレクトリでこれをやると、コミットメッセージとか引っかかって邪魔です。ノイズだらけです。死んでくれーーー
ということで、こんな感じのパターンマッチがよい感じです。
使うにはextendglobのセットが必要です。
$ setopt extendedglob $ grep 'nya' **/*~.git/*~*/.git/*(.)
はい…つらいですね。こんなの一々打ってられない。
ということで、グローバルエイリアスにしてしまいましょう。
# file: ~/.zshrc setopt extendedglob alias ALL='**/*~.git/*~*/.git/*(.)'
ALLのところはお好みで。
$ grep 'nya' ALL
としてやれば、.git/以下を除いた全てのファイルにマッチします。やったね。
ちなみに.zshrcはgithubで公開しています。 https://github.com/pocke/dotfile
grepをシェル関数化してやってもよいかもなぁ。