Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell脚本-选择字符串_Powershell - Fatal编程技术网

Powershell脚本-选择字符串

Powershell脚本-选择字符串,powershell,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} 但我主要感兴趣的是从[[]开始的行号。如何实现

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

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}

但我主要感兴趣的是从[[]开始的行号。如何实现这一点,如果在模式中使用[],脚本将失败


非常感谢您的建议。

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

Select String input.txt-模式“\[\[”|选择对象行号

或者,传递
-SimpleMatch
参数以将
-Pattern
视为字符串:

Select String input.txt-Pattern“[[”-SimpleMatch |选择对象行号

参考文件: