電子書籍の厳選無料作品が豊富!

Windows2000のコマンドプロンプトで使えるgrepを探しています。どなたかご存知ありませんか?
よろしくお願いします。

(batファイル内にgrepを記述して連続処理させたいのですが。。)

A 回答 (8件)

Grepは、いくつかの方法で利用できるようになります


1.MicrosoftのWindows Services for UNIXに含まれるGrepを利用する。
これを利用するとUNIX互換機能が(制限もありますが)利用できるようになります。grepもこれに含まれています。ダウンロードするかCD-ROMを1575円(税込み)で入手できます。
詳細はマイクロソフトのサイトを参照してください。
http://www.microsoft.com/japan/windows/sfu/

2.GnuWin32のgrepパッケージを利用する
gnuのwin32プラットフォーム用のツールにgrepが含まれています。Windows 95/98/Me/NT/2000/Xpで利用することができます。(Setupパッケージを利用すると必要なDLLも含まれており、同時にインストールしてくれます。)
インストールされた先にパスを通すなり絶対パス指定もしくは相対パス指定でgrepをコマンドプロンプトから実行できます。コマンドラインヘルプが日本語のものが用意されています。
詳細はGnuWin32のページを参照してください。
http://gnuwin32.sourceforge.net/
パッケージのページ
http://gnuwin32.sourceforge.net/packages.html
grepパッケージのページ
http://gnuwin32.sourceforge.net/packages/grep.htm

3.cygwinのgrepパッケージを利用する
UNIX/Linux互換機能を実現するためのAPI(DLL)を利用して、UNIX/Linux互換環境を実現している(広い意味でエミュレータ)パッケージcygwinもgrepを含んでいます。
gnuwin32と同様にインストールされた先にパスを通すなり絶対パス指定もしくは相対パス指定でgrepをコマンドプロンプトから実行できます。
日本語の解説書も何冊か出版されています。
詳細はCygwinのページを参照してください。
http://cygwin.com/

参考URL:http://www.microsoft.com/japan/windows/sfu/,http://gnuwin32.sourceforge.net/,http://cygwin.com/
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2005/04/26 16:26

findstr は駄目なのかな?


2バイト文字は正規表現では使えないようですが。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2005/04/26 16:27

話が脇にそれますが……



> FINDは(私の認識だと)ファイルを探すコマンドだと思うのですが、ファイルの中の文字列まで見つけることができるのでしょうか?

Unix系OSのfindはおっしゃるとおりディスクからファイルを検索するコマンドですが、Windowsのfindはファイル中の文字列を検索するコマンドです(正規表現は使えないので"grep"とはいえないでしょうね(^^;)。

> vector等で探してもどれもみなコマンド実行時にウィンドウが開いてしまうものばかり

URLの提示先がまずかったですかね。
こんなのもあるんですが。(Win2kでの動作は未確認)
http://www.vector.co.jp/soft/win95/util/se015011 …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2005/04/26 16:26

Vectorで見つけたものですが、これなんていかがでしょう。

sjisにしか対応していない
のが欠点ですけど、至極伝統的なgrepだと思います。ちゃんとマルチバイト対応で、かつ
正規表現も通ります。XPのコマンドプロンプトでも動きました。

個人的には、Delphiに付属してきたものを使っています。これもやはり余計な機能がない
古式に則ったgrepです。

参考URL:http://www.vector.co.jp/soft/dl/win95/util/se015 …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2005/04/26 16:26

私はアンカーシステムズのPeggy Proという統合環境型エディタを使用していますが、コマンドプロンプトで使用できそうなgrepが付属しています。


私はほとんど統合環境上で、GREPなどしてしまうので、実際コマンドラインで使ったことはありませんが。

他にもUNIX系のコマンドがいくつかあるようです。

4,500円のツールですが、機能制限なしの試用期間もありますので、試されてはいかがでしょうか。

参考URL:http://www.anchorsystems.co.jp/
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

ご紹介のものを見てみたのですが、諸事情により費用が発生するのはまずいので、見送りました。情報ありがとうございました。

お礼日時:2005/04/26 16:25

手っ取り早い方法は以下の3つでしょうかね。



方法1:標準のFINDコマンドを使用する
(No.1さんの回答に同じ)

方法2:vector等でgrepのWindows移植版を探してインストールする
http://search.vector.co.jp/search?query=grep

方法3:Cygwinをインストールする
(No.2さんの方法に同じ)

参考URL:http://search.vector.co.jp/search?query=grep
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

vector等で探してもどれもみなコマンド実行時にウィンドウが開いてしまうものばかりでbat処理には向かないみたいです。。単純なコマンド(exeファイル)のみのモノって無いものですかねぇ。。.

お礼日時:2005/04/22 09:33

CygwinというWindows上で動くUnixエミュレータを使えばUnixのgrepが使用できます。

    • good
    • 0
この回答へのお礼

回答ありがとうございます。

windows上の外部コマンド(プログラム)と連携させて処理したいのとエミュレータを動かせるほどマシンパワーが無いのです。。。(;_;)

お礼日時:2005/04/22 08:47

コマンドプロンプトのFINDコマンドで


バッチ作成できるのでは。
見当違いでしたらごめんなさい。

この回答への補足

回答ありがとうございます。

目的は一つの巨大な解析結果のファイル(テキストファイルで約50MBくらいある)の中に任意の文字列(例えばERRなど)が有るか無いかをチェックしたいのです。

FINDは(私の認識だと)ファイルを探すコマンドだと思うのですが、ファイルの中の文字列まで見つけることができるのでしょうか?

補足日時:2005/04/22 08:42
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!