Windows上でgrep.exeと同機能を実現する方法は?

このQ&Aのポイント
  • Windows 上で grep.exe と同じ機能を実現する方法はありますか?質問者は、Windows3.1 の時代に DOS の grep.exe コマンドをよく使用していましたが、最近またその機能が必要になりました。
  • grep.exe と同等以上の機能を持つ Windows 用のソフトを紹介してほしいとのことです。軽量なフリーソフトが望ましいです。
  • Windows XP HE を使用している質問者は MS オフィス系ソフトは使っていないため、grep.exe の代替手段を探しています。
回答を見る
  • ベストアンサー

grep.exe と同じ機能をWindows上で実現する方法はありますか?(フリーソフト?)

私は、かつて、まだ Windows3.1 さえもこの世に普及してない時代に、DOSコマンドの“grep.exe”コマンドを頻繁に使用していました。 例えば    grep AAA BBB > CCC  (AAA と BBB の、どっちがファイル名でどっちが文字列かは忘れました) という感じで、テキストファイル中で、特定の文字列が含まれている行を「行単位」で抽出して、そうして抽出した行の全てをまとめて他のファイル(CCC)に出力する、といった具合です。 その後10年以上、そのコマンドを使っていないのですが、このたび久しぶりに、その機能を使う必要が生じました。 現在でも、おそらくDOSコマンドプロンプトから手入力で実行できるのでしょうが、出来れば、一般の Windows 用ソフトと同様に、ウィンドウ表示でマウスクリックを使いながら“grep.exe”のようなことが出来れば、と思います。 というわけで、 “grep.exe”コマンドと同等か同等以上のことができる方法、若しくはソフトがありましたら、教えてくださいませ! なお、ソフトの場合は、フリーソフトで、かつ、出来るだけ軽いものを希望します。 なお、OSは Windows XP HE を使用していますが、MSオフィス系ソフトは使っていません。

  • sanori
  • お礼率94% (2444/2574)

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

  • ベストアンサー
  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.3

テキストエディタの「秀丸」には、grep機能があります。こちらはシェアウェア。 同じく「サクラエディタ」でも同様なことが可能です。こちらはフリー。 秀丸は登録しなくても全ての機能が使用できるので一度試してみては如何でしょうか。正規表現も使えます。タグジャンプも出来ます。

sanori
質問者

お礼

サクラエディタ試してみました。 ぱ~ふぇくと!!!です! これ使います。 ありがとうございます。

その他の回答 (3)

  • 123isao
  • ベストアンサー率54% (186/341)
回答No.4

>テキストファイル中で、特定の文字列が含まれている行を「行単位」で抽出して、そうして抽出した行の全てをまとめて他のファイル(CCC)に出力する、といった具合です。 同じようなことは正規表現でできると思います。 正規表現を使えば特定文字列から始まる行、終わる行、含む行、含まない行を削除・置換等できます。 シェアウェアの秀丸エディタだと置換画面で正規表現にチェックを入れると一括してできます。 フリーのサクラエディタも正規表現に対応していたと思います。

参考URL:
http://www.shuiren.org/chuden/teach/hidemaru/seiki/index-j.html
sanori
質問者

お礼

ありがとうございます。 やっぱ秀丸は、いまだに超有名ですね。

回答No.2

本物のWin32移植版。XPでも動くと思いますよ。

参考URL:
http://www.vector.co.jp/soft/win95/util/se015011.html
sanori
質問者

お礼

ありがとうございました。 tarの解凍、久しぶりにやりました。 懐かしい ^^

  • garouz
  • ベストアンサー率19% (178/917)
回答No.1

KWIC Finderというフリーソフトがオススメです.

sanori
質問者

お礼

早速ありがとうございます。 hishidaという作者のシェアウェアなんですね。

関連するQ&A

  • cgrep.exe と同じ機能をWindows上で実現する方法はありますか?(フリーソフト?)

    前回の質問(約1時間半前) http://oshiete1.goo.ne.jp/kotaeru.php3?q=1979272 において、 かつてのDOSコマンド「grep.exe」と同じ機能を実現するツールとしては、「サクラエディタ」が良いことがわかりました。 早速、さらに贅沢言ってすみませんが、 「grep.exe」の上位機能を持つ「cgrep.exe」のような機能を持つ方法、若しくはフリーソフトがあれば、 なお良いです。 (cgrep) http://www.vector.co.jp/soft/dl/winnt/util/se014666.html 上記リンクからダウンロードして、DOSコマンドプロンプトから手入力すれば、実現できることは、すでにわかりました。 しかし、出来れば一般の Windows 用ソフトと同様に、ウィンドウ表示でマウスクリックを使いながら“cgrep.exe”のようなことが出来れば、と思います。 というわけで、 “cgrep.exe”コマンドと同等か同等以上のことができる方法、若しくはソフトがありましたら、教えてくださいませ! なお、ソフトの場合は、フリーソフトで、かつ、出来るだけ軽いものを希望します。 (恐れ入りますが、秀丸エディタなどのシェアウェアは対象外とさせていただきます) なお、OSは Windows XP HE を使用していますが、MSオフィス系ソフトは使っていません。

  • grepの方法について

    私は現在、500ファイル近いjspファイルもしくはhtmlファイルから hrefのリンクだけを抽出する作業を行っています。 下記コマンドでgrepをかけた場合、 後ろにつながる文字列まで抽出されてしまいます。 grep -i -e "href=" ソースファイルとしては、 <a href="ファイルパス.html" target><img src=""> というように、hrefの後ろにつながって 他のタグが記述されてしまっていますが、 hrefの"ファイルパス.html"のみを抽出したいのです。 どうすればよいでしょうか。 お手数かと思いますが、 宜しくお願いいたします。

  • 文字列検索のAND条件を引数にしたい

    Perl初心者です。 指定したファイルの中から指定した文字列の入っている行を取得したいのですが、 open(FL, $ARGV[0]); while (<FL>) { if ($_ =~ /$ARGV[1]/) { print $_; } } close(FL); としたとき、 $ARGV[1]に aaa/bbb/ccc と入れてaaaかつbbbかつcccを含む行としたいのですが、うまく動作しません。 このような場合がGREPとかのコマンドを使ったほうがよいのでしょうか? 別の処理も組み込みたいので、できればperlで書きたいのですが、正規表現の文字列を引数で与えるようなことはできるのでしょうか? よろしく御願いします。

    • ベストアンサー
    • Perl
  • DOSコマンドの環境変数取得について

    DOSコマンドで/区切りの文字列の取得方法が分からなく教えて頂きたいです。 (例) DOSコマンドでdddだけ取得して表示したいです。 set test=aaa/bbb/ccc/ddd UNIXshellだと test=aaa/bbb/ccc/ddd file=`basename $1` echo $file ddd setコマンドの置換""ではなく、/区切り位置での取得方法で 何か方法がありますでしょうか? ご説明内容が分かりにくくて申し訳ございませんが、 よろしくお願い致します。

  • 正規表現

    テキストファイルからコメント行以外から文字列"bbb"を含む 行をgrepで抽出したいと思っております。 コメント行→"#"で始まる行と"--"で始まる行 先頭にスペースがある場合もあるので、結局 先頭に「0個以上のスペース+("#"or"--")」がある行は対象外 として、文字列"bbb"を含む行をgrepで抽出したいと思っています。 下記、foo.txtの中から下記の抽出対象の2行のみを抽出したい場合、 どういった正規表現を書けばいいか教えてください。 【foo.txt】 aaa bbb → 抽出対象 aaa bbb →抽出対象 # aaa # bbb →抽出対象外 #aaa # aaa --aaa --aaa -- aaa -- bbb →抽出対象外 -aaa -bbb - aaa ご存じの方がいらっしゃいましたら、よろしくお願い致します。

  • grepで検索行以外の行を抽出する方法

    grepをかけると検索文字列を含む行を抽出しますが 検索文字列を含む行とその前後の行も出力したりできるのでしょうか? よろしくお願いします。

  • MS-DOSのbatchファイルに詳しい方教えてください。Window

    MS-DOSのbatchファイルに詳しい方教えてください。WindowsのDOS窓で使用する次のようなbatchファイルを作成したいのですが、可能でしょうか。よろしくお願いします。 最初のコマンドラインで  aaa 99.mpg と入力します。aaaは固定のbatchファイル名、99.mpgはパラメータの例示であり、実際はユーザが毎回数字を変えて入力します。例えば100.mpg とか 101.mpg とかです。 固定のbatchファイルの内容で自動実行されるコマンドは次の2行です。 bbb f: ccc 12345678901 f:\dvd_rtav\vr_movie.vro z:\work\99.mpg 途中のbbb、cccはコマンドラインで動くプログラムです。 最初のbbb f:は固定です。 次の行の 12345678901 はbbb f:を実行すると、画面に出力される文章の7行目に出てくる Base64: という文字列の次に出てくる11文字のank文字をダミーで表現したもので、実際は毎回文字列の内容は変わります。最後の99.mpgは、例示であり、実際は最初にbatchファイルのパラメータとして入力した文字をそのまま持ってきます。例えば100.mpg とか 101.mpg とかです。それ以外の文字は固定です。

  • grepの出力結果の保存

    LinuXのgrepコマンドに関する質問です。 既存のファイルからgrepコマンドで特定の文字列が含まれた行だけを抽出し、その行数を数えるという課題です。 行数を数えるのでwcコマンドを使おうと思ったのですが、wcコマンドは「wc (ファイル名)」という使い方をしますよね。 ということは、grepコマンドで抽出した結果をファイルに保存しなくてはならないのですが、やり方がわかりません。

  • MS-DOSのbatchファイルに詳しい方教えてください。Window

    MS-DOSのbatchファイルに詳しい方教えてください。WindowsのDOS窓で使用する次のようなbatchファイルを作成したいのですが、可能でしょうか。よろしくお願いします。 最初のコマンドラインで  aaa 99.mpg と入力します。aaaはbatchファイル名、99.mpgはパラメータであり、可変です。 batchファイルの内容で自動実行されるコマンドは次の2行です。 bbb f: ccc 12345678901 f:\dvd_rtav\vr_movie.vro z:\work\99.mpg 最初のbbb f:は固定です。 次の行の 12345678901 はbbb f:を実行すると、画面に出力される文章の7行目に出てくる Base64: という文字列の次に出てくる11文字のank文字で毎回変わります。最後の99.mpgはbatchファイルのパラメータをそのまま持ってきます。それ以外の文字は固定です。

  • 【シェル】複数の行の列を1行で表示したい

    お世話になります。 掲題の件で質問します。 現在、Linux上でシェルの開発を行っています。 処理としては、テキストファイルを読み込んで、各行の先頭列 のみ1行で表示させるものなのですが、望みの状態が得られません。 何か良い方法はないでしょうか。 有識者の方がいらっしゃれば、アドバイス願います。 ○試したこと grep を試したのですが、1行で表示されてしまいます。 # テキストデータの形式 1行目 AAA aaa 2行目 BBB bbb 3行目 CCC ccc # 望みの状態 AAABBBCCC 環境 Linux