• ベストアンサー

UNIXコマンド "grep" "find" の使い方教えて下さい。

1)以下(1)、(2)を検索したいとします。  (1)"wrk_str"という文字列の記述があるファイル名  (2)tmp_file.c という名前のファイル名 2)ディレクトリ構成が以下になってるとします。  /home/users/複数のディレクトリが存在/複数のディレクトリが存在/複数のファイルが存在 3)/home/users/ 配下に検索したい文字列、ファイルがあるとした場合、どのように   探せばいいでしょうか?   /home/users/配下で得に条件なしでgrepすると、"Arg list too long"(量が多い?)の   メッセージが出て、検索できませんでした。 UNIXコマンドに詳しい方、宜しくお願いします。 それ以外にも、色々検索方法知っていたら教えて下さい!!

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

(1) については find /home/users |xargs grep -l wrk_str /dev/null もしくは find /home/users -print0 |xargs -0 grep -l wrk_str /dev/null の方がよいかと>#1

その他の回答 (2)

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.3

(1)に関して、 a. grepのバージョンによっては、 grep -R wrk_str . で再帰検索できるかも。 b. find ではなくて、 ls -R が使えるかも。 ls -R . | xargs grep wrk_str /dev/null

  • ___
  • ベストアンサー率8% (3/35)
回答No.1

(1) find /home/users/ -exec grep -H wrk_str {} \; (2) find /home/users/ -name tmp_file.c

関連するQ&A