$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
我想在$ File
中搜索大约10000美元的行搜索时间非常慢,速度更快?
示例:
搜索关键字:$ line,然后$ File将显示行
关键字:ART.023.AGA_203.PL
的文件:2,45433; ART.023.AGA_203.PL; DDDD; WWWW; TT;
答案 0 :(得分:0)
这与其他方法相比如何?
Measure-Command {
Get-Content $file -ReadCount 1000 |
foreach {$_ -match $line}
}
注意:当执行磁盘读取的比较测试操作时,请始终运行多个测试并丢弃第一个测试。如果磁盘具有任何板载读取缓存,则第一个测试可以预加载缓存以用于后续测试并使结果偏斜。