我无法弄清楚如何逃避'<'字符,我很困惑'系统找不到指定的文件'错误。有人可以帮忙吗?
我在Windows XP中使用了PowerShell中的ack。
问题ack-grep: chars escaping与我的问题非常相似,但针对该问题提供和接受的解决方案对我不起作用。
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.
答案 0 :(得分:4)
您是否有任何理由不想使用PowerShell的正则表达式搜索?
Select-String '<' *.*
## or
dir -r | Select-String '<'
答案 1 :(得分:0)
PowerShell中的转义字符是反引号:
PS C:\xampp\htdocs> ack `<
答案 2 :(得分:-1)
你的意思是 awk
吗?如果是这样,那么您所要做的就是:$ awk '/</ filename'
由于我没有安装ack,我无法验证100%,但我会尝试使用此代码:
ack '<' --output '$1' -h
如果这不起作用,那么我建议您阅读man ack
和ack --help
页。