Как искать '<' в файлах, используя ack в powershell в windows? - PullRequest
3 голосов
/ 29 июля 2011

Я не могу понять, как экранировать символ «<», и меня смущает ошибка «Система не может найти указанный файл».Кто-нибудь может помочь? </p>

Я использую ack в powershell в Windows XP.

Вопрос ack-grep: экранирование символов очень похоже на мое, но предлагаемые решенияи приняты на этот вопрос не работают для меня.

PS C:\xampp\htdocs> ack abcd
<works as expected>
PS C:\xampp\htdocs> ack <
The redirection operator '<' is not supported yet.
At line:1 char:5
+ ack < <<<<
PS C:\xampp\htdocs> ack \<
The syntax of the command is incorrect.
PS C:\xampp\htdocs> ack '<'
The syntax of the command is incorrect.
PS C:\xampp\htdocs> ack '\<'
The syntax of the command is incorrect.
PS C:\xampp\htdocs> ack [<]
The system cannot find the file specified.
PS C:\xampp\htdocs> ack '[<]'
The system cannot find the file specified.
PS C:\xampp\htdocs> ack '[\<]'
The system cannot find the file specified.
PS C:\xampp\htdocs> ack \Q<\E
The system cannot find the file specified.

Ответы [ 3 ]

4 голосов
/ 29 июля 2011

Есть ли причина, по которой вы не хотите использовать регулярное выражение PowerShell?

Select-String '<' *.*

## or
dir -r | Select-String '<'
0 голосов
/ 29 июля 2011

Символ экранирования в PowerShell имеет обратную черту:

PS C:\xampp\htdocs> ack `<
0 голосов
/ 29 июля 2011

Вы имеете в виду awk? Если так, то все, что вам нужно сделать, это: $ awk '/</ filename'

Так как у меня не установлено ack, я не могу подтвердить 100%, но я бы попробовал этот код:

ack  '<' --output '$1' -h

Если это не сработает, то я бы порекомендовал прочитать страницы man ack и ack --help.

...