- 締切済み
コマンドプロンプトの検索方法
検索方法がよく分からず困っています。ご存知でしたら是非教えてください。 1,2,3,4というフォルダの中にそれぞれA,B,C,Dと複数のサブフォルダがあります。それぞれのサブフォルダのなかには例)A_a1,a2,a3,a4, B_b1,b2,b3,b4 という複数のdataがそれぞれあります。dataはtxtです。 すべてのdataからzzzzというキーワードを含むラインを検索したいのですがどのようにしたら良いでしょうか? 自分なりにあれこれ考えて dir /s | find "zzzz"などやってみたんですがなかなかうまくいきません。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- 777_kenyu
- ベストアンサー率68% (22/32)
Vectorに登録されている物では検索ディレクトリを再帰出来るやつって少なかったですね。すみません。 GNU grepにしておけば、使い方を探すのに苦労しないと思います。 Win32版で最新のものを探すことが出来なかったのですが、 yagrep: GNU grep with Oniguruma あたりでいいのではないでしょうか。 http://www.kt.rim.or.jp/~kbk/yagrep/index.html 質問の件だと、 yagrep -Rn zzzz *.* -R:サブフォルダまで探す -n:行番号も表示する (-H:ファイル名を表示する) というオプション指定になります。 #とかいいつつ私はWindowsではTurbo Grepを使っているので #GNU Grepはあまり詳しくありません。 #Turbo GrepはWeb上にほとんど情報がないのであまりお勧めしません。
- 777_kenyu
- ベストアンサー率68% (22/32)
コマンドラインからの検索を多用するのであれば、今後のことも考えて grepを導入したほうが良いと思います。 フリーでWindows用にもたくさんのものがあります。 たいていのものはサブフォルダまで再帰的に検索するオプションがあります。 http://www.vector.co.jp/vpack/filearea/win/util/text/find/ にいくつか登録されています。
- notnot
- ベストアンサー率47% (4900/10358)
いくつかのフォルダの中ファイルをサブフォルダ内のファイルまで含めてfindで行を探したいということでしょうか? バッチファイルにして、 for /r 探したい親フォルダのパス %%D in (.) do find "zzzz" %%D\*.txt
お礼
回答ありがとうございます。 バッチファイルまだよく理解してないのですがどのように中身を書いたらよいでしょうか?
お礼
ありがとうございます。grepの利便性を確認してみます。見た限りfgrep, jgrepなどいろいろあるようですけどどれがいいんでしょうか? もしもご存知でしたら教えてください。