我正在创建一个脚本,用于读取文本文件并将结果与数组进行比较。它运行良好,但我有一些记录说它们匹配,但它们不匹配。
例如,TG1032
和TG
根据select-string
脚本匹配。
这是我的select-string
:
$Sel = select-string -pattern $strArrVal -path $txt
有没有办法改变这一点,使选择字符串只匹配6个字符长的记录?
我仍然想指出您的模式错误的地方,但无论如何,解决方案都很可能是相同的。如果您希望匹配正好为6个字符的行,那么您可以使用模式^.{6}$
。
$strArrVal = "^.{6}$"
Select-String -Pattern $strArrVal -Path $txt
如果这真的是你想要的,那么regex并不是真正需要的。你可以用Get-Content
做这件事,结果类似
Get-Content $txt | Where-Object{$_.length -eq 6}