簡體   English   中英

grep命令行,帶有“或”來自dos窗口(gnu grep)

[英]grep command-line with “or” from dos window (gnu grep)

我正在嘗試使用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有用。 我閱讀了手冊頁和Web文檔,似乎沒有什么適合我正在嘗試做的事情。

有誰知道怎么做到這一點? 謝謝。

需要引號並使用\\轉義管道:

grep "aaa\|bbb" foo.txt

$ cat foo.txt
aaa
bbb
ccc
aaa bbb ccc

$ grep "aaa\|bbb" foo.txt
aaa
bbb
aaa bbb ccc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM