Powershell脚本 - 选择字符串

时间:2017-11-08 22:24:26

标签: powershell

我有一个文本文件,格式如下:

Demo
1
2
3
[[1]]
[[2]]

在Powershell脚本中,我试图找到字符串匹配的第一个行号[[。

$path = 'C:\Demo\Test.txt'
$pattern = "Demo"
$LineNumber = Select-String $path -Pattern $pattern | Select-Object LineNumber

以上代码将行号1返回为@ {LineNumber = 1}

但我主要感兴趣的是从[[。如何实现这一点,如果我使用[[in the pattern。

],脚本将失败

请帮助,感谢所有的建议。

1 个答案:

答案 0 :(得分:1)

默认情况下,参数-Pattern使用正则表达式。 [在正则表达式中有特殊含义,因此需要转义(使用\):

Select-String input.txt -Pattern "\[\[" | Select-Object LineNumber

或者通过传递-SimpleMatch参数来将-Pattern视为字符串:

Select-String input.txt -Pattern "[[" -SimpleMatch | Select-Object LineNumber

参考文档:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-string?view=powershell-6