[英]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.