
我正在尋找字面上有一個大於字元(“>”)後面跟著一個空格,後面跟著一個反斜線字元(“\”)的行,即包含以下內容的行:> \
我認為逃避可以實現這一點,而且比它更偉大:
$ ack-grep“\>”
返回其中包含 "> " 的行。
但是當我也嘗試逃避反斜線時,我得到:
$ ack-grep "\> \\"
ack-grep:無效的正規表示式 '\> \':
正規表示式 m/\> / 中的尾隨 \
答案1
哇,我如此接近......單引號:
$ ack-grep '\> \\'
在確認我的正規表示式匹配有效後發現了這一點: http://regexpal.com/ 只是碰巧在嘗試其他東西時得到了單引號。
答案2
這也有效:
$ ack-grep '> \\'
也是如此:
$ ack-grep "> \\\\"
大於號不需要轉義。
答案3
若要搜尋文字字串,請使用文字選項:
ack-grep --literal '> \'
答案4
請注意,這裡的問題不是 ack 而是 shell 引用。對於任何嘗試將 "> \" 作為參數傳遞的程序,都會遇到此問題。