我有一个包含以下内容的文件
change sets:
promotion level: INITIAL
depends on:
GEESF_R2.1.0.9.5179@\My_PVOB (MES@\My_PVOB)
My_2.1.0.13.4875@\My_PVOB (Notification@\My_PVOB)
MyComponents_8_8_2011.6859@\My_PVOB (SQLReporting@\My_PVOB)
My_2.1.0.13.7098@\My_PVOB (Support@\My_PVOB)我想阅读有模式@\My_PVOB的内容)
所以我写了这样的select-string选项。
Select-string -pattern "@\My_PVOB)" -path "C:\Baselines.txt"但是我得到了下面的问题
parsing "@\My_PVOB)" - Unrecognized escape sequence \M.即使将模式更改为
Select-string -pattern "@\\My_PVOB)" -path "c:\Baselines.txt"我收到以下错误
"@\\My_PVOB)" - Too many )'s.你知道怎么解决这个问题吗?
发布于 2011-12-20 18:25:41
圆括号是一个特殊字符,因此您应该对其进行转义:
Select-string -pattern "@\\My_PVOB\)" -path "c:\Baselines.txt"发布于 2011-12-20 21:47:53
您可以使用Escape方法将元字符替换为它们的转义代码:
PS> $pattern = [regex]::Escape('@\My_PVOB)')
PS> $pattern
@\\My_PVOB\)
PS> Select-String -Path c:\Baselines.txt -Pattern $pattern https://stackoverflow.com/questions/8573357
复制相似问题