タグ

2012年7月11日のブックマーク (1件)

  • 浮浪プログラマの始末書:[Unix] 全てのサブディレクトリをgrep

    grepの検索対象のファイルが一つのディレクトリにまとまっているのなら、 grep hoge *.c で簡単に検索できるんですが、複数のディレクトリに分散している中から探すのに困ってしまいました。 複数ディレクトに分かれていても、ディレクトリの階層がすべて同レベルならば、 grep hoge */*.c ってできるんですが、階層がまちまちの場合にはこれも使えない。 ということで、findコマンドとの合わせ技を教えてもらいました。 find . -name '*.c' | xargs grep hoge あるいは、 find . -name '*.c' -exec grep hoge {} /dev/null \; grepの引数に"/dev/null"が付いているのは、対象ファイルが1つの場合にもファイル名を表示させるため。 【追記】コメントでgrepのみでできる方法を教えて貰いました(f