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

回到顶部