ベストアンサー grepで検索ワードでOR検索をしたいときはどうすればよいでしょうか? 2006/02/03 17:38 grepで検索ワードでOR検索をしたいときはどうすればよいでしょうか? みんなの回答 (2) 専門家の回答 質問者が選んだベストアンサー ベストアンサー notnot ベストアンサー率47% (4900/10358) 2006/02/04 00:31 回答No.2 grep 'A\|B' とか egrep 'A|B' とか grepとegrepとで正規表現の書式が異なります。両方覚えるのが大変なら、egrepのほうが、Perl等の言語で使われる正規表現に近いので、そちらを覚えたほうがよいでしょうね。 通報する ありがとう 0 広告を見て他の回答を表示する(1) その他の回答 (1) yambejp ベストアンサー率51% (3827/7415) 2006/02/03 18:58 回答No.1 正規表現を使わずにという意味でしょうか? 質問者 補足 2006/02/03 20:37 いえ正規表現もOKです。思いつかなかったので。 AまたはBを含む行を検索みたいなことをしたいです。 通報する ありがとう 0 カテゴリ [技術者向] コンピューターOS(技術者向け)Linux系OS 関連するQ&A Accessに対するGrep検索 お世話になります。 Access(2000)MDBファイルの中に記述されている コードに対して秀丸等のソフトを使ってGrep検索をかけたいのですが うまくひっかかってくれません。 Accessに対してGrep検索が行えるツール等、 ご存知でしたら教えてください。 grepについて Freebsdにおいてgrepというコマンドがあると思いますが、このgrepで特定の階層にある特定のファイルを探すことはできるのでしょうか? あるファイルの中に存在する、特定の文字などを検索するやり方は分かるのですがファイル名を検索しようとしても、やり方が分からずできません。 それとも、もともとgrepコマンドは、あるファイル内に存在する文字を検索するためのコマンドなのでしょうか?? その辺りも、よく分かりません。 他に、grepはこういう時に便利!!みたいな例があれば教えてくださいませ。 ご回答の程、よろしくお願い致します。 grepの使い方(もしくは~) 恐れ入ります。 grepで検索してみたのですが、よくわかりませんでした。 aaa もしくは bbb を含む という検索はどのように書いたらいいのでしょうか grep でパラレル検索するには あるディレクトリいかに置かれているソースコードの中で特定のパターン (文字列) を含むファイルの一覧を取得するのに grep を使って検索してい るのですが、もう少しよい方法がないかと試行錯誤しています。 [現行法] find . -type f | \ while read line; grep -qP pattern "$line" && echo $line; done そこで、使用しているサーバのCPU 数が8であることに目を付け、マルチ プロセスもしくはマルチスレッドの仕組みを用いて8多重でgrepを実行で きる仕組みを考えています。 最初に考えたのは以下のような方法です。 ・pthread を利用する。 ・各レッドで system 関数を使用して grep を実行する。 ・子プロセスは標準入力をパイプから受け取るようにする。 ・検索対象となるファイル一覧の読み込みは mutex を用いて制御する。 →system 関数はシェル経由で grep をコールするようで、オーバーヘッド が気になるなどの理由により却下。 次に考えたのは以下のような方法です。 ・pthread を利用する。 ・各スレッドで fork し、子プロセスで grep を実行する (exec)。 ・子プロセスは標準入力をパイプから受け取るようにする。 ・検索対象となるファイル一覧の読み込みは mutex を用いて制御する。 →デッドロックの問題が解決できずに断念。 pthread で fork を使う場合は直ぐに exec するようにしないとデッド ロックする可能性があるという記事をネット上で見つけました (標準入力 をパイプから受け取るようにする処理があるため直ぐには exec できな い)。で、実際にもそのようになってしまいました。 そして、最終的に考えているのが以下のような方法です。 ・fork を利用する。 ・各プロセスでさらに fork し、孫プロセスで grep を実行する (exec)。 ・孫プロセスは標準入力をパイプから受け取るようにする。 ・検索対象となるファイル一覧の読み込みはセマフォを用いて制御する。 でも、本当にこのようにマルチプロセス+セマフォを使う方法でしか 「grep でパラレル検索」を実現することはできないのでしょうか? pthread で実現することには失敗してしまいましたが、もう少し改良して 成功できないかと考えているのですが・・・。 (かと言って、あちこち mutex でロックしてしまうと、せっかくのスレッ ドが生かされない?) grep コマンドでディレクトリ検索 grep コマンドでディレクトリ検索 tmp/bbb tmp/bbb.cc というディレクトリがある時 ls | grep -w "bbb" でtmp/bbbだけ取りたいけど bbb.ccまで取ってしまうんで困ってます。 どうやったらtmp/bbbだけ取れますか? まったく一致のbbbを検索したいです。 grepの書き方がわかりません。 Perlの初心者なんですが、以下のようなテーマをもらってプログラムを作っています。 第一引数にディレクトリのパス、第二引数に検索し たいファイル名を指定して第一引数の パス以下にある全てのディレクトリを検索してファイルがあればそのパスを表示させなさい。 一応できたのですがプログラムの記述の一部がよくわかりません。以下のプログラムは一部です。 local ($dir, $file) = @_; opendir(DIR,$dir) or die @data = readdir(DIR);#ディレクトリの内容を読む closedir(DIR);#ディレクトリを閉じる local @fname = grep {-f "$dir/$_"} @data; local @dname = grep {-d "$dir/$_"} @data; $dir,$fileには第一、第二引数の文字列をいれているのですがそのディレクトリになかにファイル、ディレクトリがないか検索するためgrepを使っています。それで"$dir/$_"の部分の意味がよくわかりません。 この部分は他のサイトであったものを流用しただけなのですがよくわからないまま使ってたまたま動いたから使用しててこのままでは理解していないままなので どうか教えてほしいです。 あともう一点ありましてgrepのところで最初自分で書いた時 local @fname = grep (-f,@data); というように書きました。ファイルが第一引数にあるときは問題なく動作するのですがその下にあるディレクトリにあるとなぜかプログラムが終わりません。 デバッグとして@dataの中身を表示したらそのディレクトリの検索をしてはいるんですが、その中に目当てのファイルがあるはずなのに@dataの中身がからっぽで ファイルがないことになっています。この違いがどうしてもわかりません。 以上の二点がわからないんですがどうかお手数ですがどなたか教えてください。 秀丸のGREP検索 GREP検索をした時、該当する単語のある行が表示されなくなってしまいました。 viyon.txt(17) suisen.txt(114) のようにファイル名と行番号しか表示されません。 以前は、検索単語と周囲の文字列も表示されてたんですけど・・・・・・ 元に戻せませんか? grepの方法について 下記のようにgrep結果を取り出したいのですが大量にあります。 検索結果を最新の1つのみ取り出したいのですが、何か良い方法はありますでしょうか? # cat abc.log |grep testword 大量です # cat abc.log |grep -c testword 9100 grepで特定のディレクトリを除外して再帰検索するには? /hoge下のサブディレクトリ、ファイルで文字列mojiretsuを検索したいのですが 特に/hoge/foo下は除外して検索する場合には grepコマンドはどう記述したらいのでしょうか? # grep -lr mojiretsu /hoge だと/hoge/fooも検索されてしまいますよね。 Grepする際の検索方法について こんばんは。 さくらエディタのGrep検索で次のような検索をしたいと思っていますが どのように行えば良いでしょうか? 例)「コンピュータ」と「コンピューター」の文字列が混在するファイル、フォルダから「コンピュータ」のみを検索する 普通に「コンピュータ」で検索すると当然ながら「コンピューター」もヒットしてしまいます。「コンピュータ」となっているもののみ抜き出したいのです。 正規表現を使えば解決できると、なんとなく分かるのですが方法を探してみましたが正規表現自体難しいので理解できませんでした。 宜しくお願い致します。 vimのgrepの使い方がよくわかりません WindowsXPでvimを使い始めたのですが、 grepのやり方がよくわかりません。 一応、unixでgrepやviは最低限レベルでは使えます。 やりたいこととしては、 指定のテキストから、特定の文字列を検索して、 結果を一覧で表示させて、 その中からどれか選んで、その行へジャンプして表示する ということがやりたいです。 で、たぶんgrepでやれるんじゃないかと思って質問しています。 grepに関する簡単な解説を読むと、 (esc)したあと、 :grep hoge hoge.txt でできる、というようなことが書いてあるのですが、 上記で実行すると、 :!findstr /n hoge hoge.txt > c:xxxxxxxx 2>&1 (1 of 1): 1:hoge と出ますが、ここから何をしていいかわかりません。 grepの機能としてはここで終わりなのでしょうか? ここから結果の行へジャンプしたりできないのでしょうか? また、grep対象のファイルって毎回自分で入力するのでしょうか? たとえば、現在編集しているファイルを対象としたい場合、 現在のファイル名となる変数みたいものはあるのでしょうか? サクラのGREP機能を複数の単語を一気に検索したい 現在、サクラを使用してGREP機能を使用していますが、 検索する単語が1000ほどあり、サクラのGREPでは限界があります。 これを一気に検索する方法はあるのでしょうか。 漠然として質問で申し訳ありません。 宜しくお願い致します。 MKEditorのgrepで検索されたファイルの開き方 テキストファイルのフォルダーを、MKEditorのgrepで見つけ出したのですが、grep画面から目的のファイルを開く方法を教えていただけませんか。 よろしくお願いいたします。 linuxのgrepコマンドに関して linuxのgrepコマンドに関して ファイルの中から、1や2という文字が単独で存在する行を検索したくて grep 1 file名 とするのですが、そうすると11や23など文字が単独ではなく、含まれている行が出力されます。 含まれる、ではなく文字そのものを検索するにはどうしたらよいでしょうか? grepでの日本語検索 現在、 grep '2004-10-1' test.log | grep -c '日本語' というように日付と単語の両方がある行数を取り出す処理を行っています。 grepでは日本語は対応していないとありましたが、このように日本語でも行数を取得できるようなコマンドがありましたら、ご教授ください。 Linux環境 grepで改行コード(CRLF、LF)を検索できないで Linux環境 grepで改行コード(CRLF、LF)を検索できないでしょうか? grep '\t\n' aaa.txtとしても、「\」はエスケープしてしまいます。 検索方法、grep以外でもご存知の方いらっしゃいましたらご教示いただけたら幸いです。 grepコマンドのAオプションが使えない たすけてください! grep -A 10 検索条件 検索ファイル とコマンドを打つと grep:認識できないフラグ:A と出てきます。 どうしたら使えますか? grep検索のできるモバイル端末を探しています。複数のテキストファイル grep検索のできるモバイル端末を探しています。複数のテキストファイルについて、グレップ検索ができるテキストエディタなどが搭載されている(または搭載可能な)PDAはないでしょうか。ザウルスなどの旧機種ではなく、現在生産中の機種でお願いします。 秀丸のgrep検索 お世話になっております。 「秀丸」のことです。 秀丸のなかにテキストデータが今入っています。 1 日付 時間 データ 2 日付 時間 データ 3 日付 時間 データ というかんじにはいっています。 同じファイルがたくさんあって、ひとつのフォルダに なっています。 そのデータにgrep検索をかけたいのです。 以前検索をかけたときは、 普通に 検索元ファイル名 日付 時間 データ 検索元ファイル名 日付 時間 データ 検索元ファイル名 日付 時間 データ 検索元ファイル名 日付 時間 データ というふうに結果が出たのですが、 ルートディレクトリ?からファイル名が出てきてしまうのです。 具体的には C:¥ABC¥DCV¥UUU\検索元ファイル名 日付 時間 データ というように余計なデータまでくっついてくるのです どうしたらいいでしょうか? なにがわるいのでしょう? ちなみに、 そのデータはネットワークにありましたが、 自分のPC(ローカルに落としてきても) おなじでした どうしたらいいでしょうか? grep のファイルの検索で grepを使う練習をしています。 ネット上の問題で 「 nとnの間に nより前の文字(a~mのこと)しか入らないような名前のファイルを見つけよ。例えば、 Abelonian,Aberdonian,Abernant.といったところ。consnantなどはnとnの間にnより後の文字(s)がくるので表示しない。ちなみにnとnの間は何も入らなくてもよい」 という問題です。 grep n[a-n^]*n filename と入力したのですが、できません。 どなたかアドバイスいただけないでしょうか。よろしくお願いします。 注目のQ&A 「前置詞」が入った曲といえば? 緊急性のない救急車の利用は罪になるの? 助手席で寝ると怒る運転手 世界がEV車に全部切り替えてしまうなら ハズキルーペのCMって…。 全て黒の5色ペンが、欲しいです 長距離だったりしても 老人ホームが自分の住所になるのか? 彼氏と付き合って2日目で別れを告げられショックです 店長のチクチク言葉の対処法 カテゴリ [技術者向] コンピューター OS(技術者向け) Windows系OSLinux系OSBSD系OSSolaris系OSiOS(技術者向け)Android OS(技術者向け)その他(OS) カテゴリ一覧を見る あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど
補足
いえ正規表現もOKです。思いつかなかったので。 AまたはBを含む行を検索みたいなことをしたいです。