• ベストアンサー

ディレクトリ内より特定の文字列を検索する際に関しまして

文字列の検索に関して質問させていただきます。 あるファイル内から、 特定の文字列を探す際は、 grepを使用して検索をしています。 また、全体の中からファイル名を探す際なども、 findを使って、 探したりしているわけなんですが、 そうではなくて、 あるディレクトリ内にある 複数のファイル内全てから、 「特定の文字列が含まれているか?」を 探すコマンドってあるのでしょうか? 例えばこんな感じです。 ディレクトリAにファイルが10個あるとします。 この10個のファイルの中のどこかに、 「FOO_HEADER」という文字列が 存在しているか?を確認したいときに、 そう思いました。 今までなら、grepを使って、 1つずつファイル内を探したりしていました。 検索サイトで探してみたのですが、 キーワードが悪いのか、 どうも見つけることが出来ませんでした。 もしご存知の方がいらっしゃいましたら、 アドバイスの程お願い致します。 ■OS:Fedora9 ※ 通常はbashを使用しています。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

単にディレクトリAにcdしてgrep FOO_HEADER * でいけません?

stadiumk
質問者

お礼

yambejpさん ありがとうございます! こんなに簡潔なコマンドでよかったんですね! ずっと探して色々やっていたので、 大げさなようですが、 感激しました! ありがとうございます!

その他の回答 (1)

  • 3rd_001
  • ベストアンサー率66% (115/174)
回答No.1

find と grepを組み合わせればよいでしょう。 「find grep」で検索したら以下のような例がありました。 http://oshiete1.goo.ne.jp/qa2661868.html find ./ -type f -exec grep FOO_HEADER {} /dev/null \;

stadiumk
質問者

お礼

3rd_001さん! 早々にご回答いただきまして ありがとうございました! こちらも参考になりましたです! ありがとうございます!

関連するQ&A

  • grepで特定のディレクトリを除外して再帰検索するには?

    /hoge下のサブディレクトリ、ファイルで文字列mojiretsuを検索したいのですが 特に/hoge/foo下は除外して検索する場合には grepコマンドはどう記述したらいのでしょうか? # grep -lr mojiretsu /hoge だと/hoge/fooも検索されてしまいますよね。

  • ある特定のディレクトリの特定の文字を含むファイルを検索するには

    Debian Linuxでbashスクリプトを記述しています。 特定のディレクトリ(1つの階層)にある ".abc"で始まる隠しファイルの一覧と、 それぞれのファイル内容を取得したいのですが ・サブディレクトリも検索してしまう。  find の-pruneやmaxdepthがききません。 lsで記述しなおしましたが ・結果を確認すると、6回同じ内容を記述しています。  正規表現が正しくないと思い書きなおしていますがうまくいきません。 target=/var/test filename=$(ls -a ${target} -name | grep '\.abc' | grep -v "~") kugirimoji="------" for i in $filename ; do echo $i cat $i echo $kugirimoji done どこを直せば、単一ディレクトリの特定ファイルの一覧を検索できるでしょうか。 同じ内容を複数回吐き出すのは、やはり正規表現が間違っているからでしょうか。 ぜひ教えて下さい。 どうぞよろしくお願い致します。

  • 全ディレクトリの全ファイルから特定の文字を検索

    全てのファイル、サブディレクトリの中身も含めて検索する コマンドはありますでしょうか。下記のようにしても反応がなく、 ためしにmojiと書いただけのファイルを置いてもHITせず、 どうしたら全部のファイルの中身から特定の文字列を 探し出せますでしょうか less /* |grep moji

  • find結果で文字列検索?

    RedHatLinux7.2です。 シェルコマンドで複数のテキストファイルからある文字列を含むファイルだけリストアップしたいのですが、文字列検索の対象となるテキストファイルが色々なディレクトリにまたがっている場合はどうやってやればよいでしょうか? 多分findで抽出したファイルパスをgrepに渡せばいいんでしょうけどパイプとか?がまだ不勉強ですぐにわかりません。 初歩的なことだと思いますがよろしくお願いします。

  • 文字列検索

    文字列検索 テキストファイルの検索を行いたいです. 下記のようなサンプルファイルでfooを検索し, 含まれるならマッチした個数,含まれないならnilを返す関数を作りたいです. mecabを用いて形態素解析を1行ずつしようかと思ったんですが, 大量のファイルを処理する予定なので,オーバヘッドが気になります. 関数でgrepがあるみたいですが,マッチした行しか返されません. 標準関数で1行ずつよみこんで,1行のなかでマッチした回数を返す関数はありますか? --sample.txt-- foo foo bar bar foo hoge,hoge,hoge,hoge hage-hage-hage-foo -- end --

    • ベストアンサー
    • Ruby
  • 特定の文字を含まないファイルを検索

    たくさんのファイルの中から、特定の文字を含まないファイルを検索したいのですが、良い方法はないでしょうか? #正規表現を使ったgrepなんかでもできるものですか?

  • 最新のファイルから特定の文字が入ったファイルを探しだす。

    全ディレクトリの中から1分前までに更新されたファイルを探しだし そのファイルの中から特定の文字を探し出すには どんなコマンドを使えばよいでしょうか find / -mmin 1 上記だと全ディレクトリからサブディレクトリも 含めて1分以内に更新されたファイルを探し出せる と思っているのですが、「ファイル名」を探したいのではなく、 特定の文字列が入った(更新された)ファイルを 探したいのです。 どのようにしたらよいか教えてもらえたら助かりますっ

  • 特定の文字列を含む行だけ削除する方法?

    いつもお世話になっています。 Unixであるテキストファイルから、 特定の文字列を含む行(レコード)だけを 削除する方法を教えてください。 現在、grepを使って、いろいろ試しているのですが、 正規表現で、 ”***”を含まない行(レコード)だけを 切り出すとう正規表現の説明が見あたりません。 "^**"は、**以外の文字を検索できるようですが、 文字列に対しては、使えません。 grep以外の方法でも良いのですが、 なるべくシンプルにできる方法がありましたら 教えてください。 宜敷お願いします。

  • 指定した文字列を含むファイルの検索

    あるディレクトリに含まれるファイル群(C のソースコード)の中から特定の文字列を含むファイルを探したいと思って、 WindowsXP の スタート -- 検索 -- ドキュメント -- 詳細検索オプションを使う から、「ドキュメントに含まれる単語または句」ボックスに文字列、「探す場所」ボックスにディレクトリを入力して検索してみたのですが探し出してくれません。 この検索機能はこういう目的で使う物ではないのでしょうか、あるいはこういう目的で使えるフリーソフトのような物をご存知なら教えてください。

  • Telnetコマンド/ディレクトリ内の複数ファイルの中から特定の文字列を置換したい

    TelnetでLinuxにログインしています。 ディレクトリ内の複数ファイルの中から特定の文字列を置換したいのですが、その方法(コマンド)がわかりません。 例えば、/webディレクトリ内にある全ファイルの中から、「abc」という文字列を見つけて、それを「xyz」に置換したいのです。 どうぞ、ご指南の程、宜しくお願い致します。