Search on the blog

2012年8月5日日曜日

Recursive Grep

ソースコードにTODOと書いて、後からTODOと書いている箇所をまとめてgrepしようと思って、
$ grep TODO *
としてみましたが、ヒットせず。
$ grep TODO *
$ grep TODO */*
$ grep TODO */*/*
とかやっていくと出るんですけど、もっと楽にできないかなと思い、
find . -name "*" | grep TODO
とかやってみました。
なぜかヒットせず。。いやこれだとカレントディレクトリ配下にTODOという文字列を含むファイルorサブディレクトリがないか検索してるだけだ。findでヒットしたファイルをgrepの引数として渡してあげる方法はないんだろうか・・・。 ありました。xargsを使えばよさそうです。
find . -name "*" | xargs grep TODO
でやりたいことができました。ちなみにxargsは、extended argumentsの略らしいです。

0 件のコメント:

コメントを投稿