我在Powershell中运行以下代码,搜索字符串London,并且由于之前的一些帮助而运行良好:
$sr = new-object System.io.streamreader(get-item C:\Temp\a.txt)
while ($line = $sr.readline()){
if ($line -match "London"){
$line}
}
}
然而,任何人都可以建议一种简单的方法来限制结果,所以如果找到100个匹配,我可以选择只输出1个结果到文件(或选择输出的行数)
提前致谢
答案 0 :(得分:0)
您可以为if
语句添加循环约束。例如:
$sr = New-Object System.IO.StreamReader(Get-Item C:\Temp\a.txt)
$limit = 3; $i = 0
while ($line = $sr.ReadLine()) {
if ($line -match "London" -and $i -lt $limit) {
$line
$i += 1
}
}
会限制返回的行数,包含" London"无论你将$limit
变量设置为什么(在这种情况下,最多返回三个第一行匹配)。