PowerShell的任何搜索一个大的文本文件快
$File="C:\temp\test\ID.txt" $line="ART.023.AGA_203.PL"
Measure-Command {$Sel = Select-String -pattern $line -path $File }
Measure-Command {
$reader = New-Object System.IO.StreamReader($File)
$content = $reader.ReadToEnd().Split('`n')
$results = $content | select-string -Pattern $line
}
Measure-Command {
$content= get-content $File
$results = $content | select-string -Pattern $line
$results
}
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 197
Ticks : 1970580
TotalDays : 2.28076388888889E-06
TotalHours : 5.47383333333333E-05
TotalMinutes : 0.0032843
TotalSeconds : 0.197058
TotalMilliseconds : 197.058
Days : 0
Hours : 0
Minutes : 0
Seconds : 4
Milliseconds : 135
Ticks : 41350664
TotalDays : 4.78595648148148E-05
TotalHours : 0.00114862955555556
TotalMinutes : 0.0689177733333333
TotalSeconds : 4.1350664
TotalMilliseconds : 4135.0664
Days : 0
Hours : 0
Minutes : 0
Seconds : 4
Milliseconds : 926
Ticks : 49265692
TotalDays : 5.70204768518518E-05
TotalHours : 0.00136849144444444
TotalMinutes : 0.0821094866666667
TotalSeconds : 4.9265692
TotalMilliseconds : 4926.5692
我想搜索约10000 $线在$文件PowerShell的任何搜索一个大的文本文件快
搜索时间很慢,再快?
例如:
搜索关键字:$线,然后$文件将显示线
关键字:ART.023.AGA_203.PL
文件:2,45433; ART.023.AGA_203 .PL; DDDD; WWWW; TT;
回答:
这与您的其他方法相比如何?
Measure-Command { Get-Content $file -ReadCount 1000 |
foreach {$_ -match $line}
}
注:当比较测试操作是做磁盘读取这个样子,总是运行多个测试和丢弃的第一个。如果磁盘上有任何板载读取缓存,则第一个测试可以预加载缓存以供后续测试使用,并使结果偏斜。
以上是 PowerShell的任何搜索一个大的文本文件快 的全部内容, 来源链接: utcz.com/qa/260804.html