- PR -

grepで検索を行った際に、プロンプトが返ってこない

1
投稿者投稿内容
kumapoo
ベテラン
会議室デビュー日: 2003/11/21
投稿数: 59
お住まい・勤務地: 住まいも、勤務も東京の品川あたり
投稿日時: 2007-04-25 16:25
検索についての質問です。

/etc 以下のディレクトリ(さらに下の階層も含む)に対して、文字列検索を実行したいです。

#grep 任意の文字列 /etc/*

このコマンドを実行した際に、プロンプトが返ってこなくなります。

理由がわかる方がいらっしゃいましたら、ご教示お願いできますでしょうか?

よろしくお願いいたします。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2007-04-25 16:32
時間が掛かっているだけじゃないでしょうか。
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2007-04-26 11:31
以下のコマンドを実行したら、どうなりますか?

find /etc -type f -print -exec grep 任意の文字列 {} \;
find /etc -type l -print -exec grep 任意の文字列 {} \;

angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2007-04-26 12:31
grepコマンド単体でやるなら、せめて -r オプションを。
ただ、-r オプションをサポートしていない場合は、ゆうじゅんさんの示されたように、通常のファイルを find で全検索する方向で。
-r オプションを使う場合でも、ソケットやデバイスファイルがあると、そこでの検索で動きが止まる可能性はありそうです( 未確認 )。そんな時にも find を絡める方法は使えます。
# 私は“find /etc -xtype f | xargs grep 検索パターン”の方が好みですが。
1

スキルアップ/キャリアアップ(JOB@IT)