1

GNU Grep (Win32 ターゲット用にコンパイルされた grep) を使用して、windows7 用の .bat ファイルを作成しようとしています。| を使用する式の構文に問題があります。(または)、DOS コマンドは、パイプ/リダイレクトとして使用していると考えています。foo.txt の入力例を次に示します。

aaa
bbb
ccc
aaa bbb ccc

だから私は簡単なテストを試みます:

grep aaa foo.txt

結果:

aaa
aaa bbb ccc

ここまでは順調ですね。しかし、本当に aaa OR bbb を抽出する必要があるため、次の式を使用します: (aaa|bbb) ex:

grep (aaa|bbb)

私に与えます:

'bbb)' is not recognized as an internal or external command,
operable program or batch file.

いろいろな見積もりを試しましたが、まだ正しい組み合わせにヒットしていません。文字列を DOS インタープリターから保護する必要がありますが、それでも grep に役立ちます。man ページと Web ドキュメントを読みましたが、私がしようとしていることは何もないように思えました。

これを行う方法を知っている人はいますか?ありがとう。

4

1 に答える 1

3

引用符が必要で、パイプを次のようにエスケープしました\:

grep "aaa\|bbb" foo.txt

$ cat foo.txt
aaa
bbb
ccc
aaa bbb ccc

$ grep "aaa\|bbb" foo.txt
aaa
bbb
aaa bbb ccc
于 2012-11-14T15:29:25.583 に答える