2011年10月27日木曜日

シェルってなんじゃ?(ワンライナー編1 全文検索)

日々お世話になっている便利なシェルのワンライナーを紹介していきたいと思います。
このシリーズが出たときはネタに困ったときだと思ってください。。


以下は、特定のディレクトリ以下のパターンにマッチしたすべてのファイルから全文検索し、結果を色付けするワンライナーです。

find ディレクトリ -name "パターン" -print | xargs grep "検索ワード" --color=auto

実際に実行してみます。

find ./ -name '*.txt' -print | xargs grep "pack" --color=auto
./src/git/node/CMakeLists.txt:find_package(PythonInterp 2 REQUIRED)
./src/git/node/CMakeLists.txt:# package
./src/git/node/CMakeLists.txt:include("cmake/package.cmake")
./src/s3cmd-1.0.1/files.txt:/usr/lib/python2.4/site-packages/S3/__init__.py
./src/s3cmd-1.0.1/files.txt:/usr/lib/python2.4/site-packages/S3/S3Uri.py
./src/s3cmd-1.0.1/files.txt:/usr/lib/python2.4/site-packages/S3/Progress.py
./src/s3cmd-1.0.1/files.txt:/usr/lib/python2.4/site-packages/S3/AccessLog.py
./src/s3cmd-1.0.1/files.txt:/usr/lib/python2.4/site-packages/S3/Utils.py
./src/s3cmd-1.0.1/files.txt:/usr/lib/python2.4/site-packages/S3/CloudFront.py
./src/s3cmd-1.0.1/files.txt:/usr/lib/python2.4/site-packages/S3/PkgInfo.py
./src/s3cmd-1.0.1/files.txt:/usr/lib/python2.4/site-packages/S3/S3.py
./src/s3cmd-1.0.1/files.txt:/usr/lib/python2.4/site-packages/S3/SortedDict.py
....

おおっ。
色もついて便利ですね。

以上です。