3
我正在嘗試在文本文件中搜索.c
,.cpp
或.h
文件包含文件列表。然而,當我有問題,當我跑:爲什麼我會收到意想不到的令牌?
$ grep -sr ^.*\.(c|cpp|h)$ .
bash: syntax error near unexpected token `('
我正在嘗試在文本文件中搜索.c
,.cpp
或.h
文件包含文件列表。然而,當我有問題,當我跑:爲什麼我會收到意想不到的令牌?
$ grep -sr ^.*\.(c|cpp|h)$ .
bash: syntax error near unexpected token `('
我沒有Unix機器測試,但:
grep -sr '^.*\.(c|cpp|h)$' .
...至少應該不會觸發語法錯誤。
你要善於與
grep -sr '\.(c|cpp|h)$' .
^.*
部分
因爲'('有一個特殊的意思是在bash中,你需要逃避它 –
@ÁlvaroG.Vicario - 不是逃避,那會是'\(',但把正則表達式模式引用到... –
轉義將工作但是,也是如此。 – chepner