人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

grepで.svnフォルダ以外のファイルから検索したい場合の書き方を教えてください。
↓のようにhogehogeという文字列を検索したいと思います。
grep -rC1 'hogehoge' *

●質問者: kunitz
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:grep Svn ファイル フォルダ 文字列
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント

grep 自体にはその機能は無いので、

find . -type f ! -path '*/.svn/*' -print0 | xargs -0 grep -C1 'hogehoge'

とします。

http://www.linux.or.jp/JM/html/GNU_findutils/man1/find.1.html

http://www.linux.or.jp/JM/html/GNU_findutils/man1/xargs.1.html


2 ● openseed
●35ポイント

b-wind さんの回答で目的は達成されると思いますが、別解であると信じて・・・。

find . | grep -v '/.svn/' | xargs grep -C1 'hogehoge'

一度、find コマンドで /.svn/ を含まない一覧を作成し、xargs コマンドを利用して、それぞれのファイル毎に、 grep コマンドを実行してます。

xargsコマンドは、grep 以外でも、汎用的に利用できますので、便利です。

http://www.linux.or.jp/JM/html/GNU_findutils/man1/xargs.1.html

参考まで。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ