2

ack を使用して (Haskell ファイルで) +|+ を検索しようとしています。

ack-grep: chars escapingを見まし たが、これは役に立ちません

Mac OS X 10.6 では、次の応答が得られます。

$ ack -Q +|+
-bash: +: command not found
Missing option after +
ack: See ack --help, ack --help-types or ack --man for options

$ ack \+\|\+
Unknown option: |
ack: See ack --help, ack --help-types or ack --man for options

$ ack [+][|][+]
-bash: ][+]: command not found
ack: Invalid regex '[+][':
  Unmatched [ in regex; marked by <-- HERE in m/[+][ <-- HERE /

$ ack \Q+|+\E
-bash: +E: command not found

それは基本的に上記のQ&Aのすべての提案です

4

2 に答える 2

3

これは意図したとおりに機能するはずです。

$ ack "\+\|\+"

(コメントごとに正しく編集されています。引用符で囲まれていないパイプは「または」です。)

于 2013-04-25T09:35:04.800 に答える
0

-Qは、検索文字列内のすべてを引用します。

ack --haskell -Q '+|+'

これはより簡単です

ack --haskell "\+\|\+"
于 2013-05-16T17:20:09.680 に答える