0
我有10k個html文件,其中約3k包含youtube視頻嵌入代碼,所以我搜索字符串以獲取這些文件的列表,如下所示:搜索多個文件中的字符串在powershell中第一次出現後轉到下一個文件
$LocalListOfYTPosts = Get-ChildItem "$outputfolder*.html" -recurse |
Select-String -pattern "https://www.youtube.com/embed" |
group path |
select name -ExpandProperty Name
的Youtube嵌入代碼包含每個文件只有一次,所以我想,我可以加快速度,如果搜索將字符串第一次發生後到下一個文件(我不知道如果這實際上是正確的)
如果在當前的字符串中找到字符串,有沒有辦法告訴PowerShell去下一個文件?
嘗試'Select-String'上的'-List'選項:僅返回每個輸入文件中的第一個匹配項。默認情況下,Select-String爲它找到的每個匹配返回一個MatchInfo對象。 – Eris
謝謝,這有點幫助,從39秒的時間下降到35,所以沒有太大的區別,但每一個幫助:) –
你可以嘗試使用工作流程並行處理文件,但因爲這主要是IO界限,它可能會使更糟糕。儘管如此,嘗試並沒有失去。看看[this](http://stackoverflow.com/a/19727899/52598)可以用作模板的SO問題。 –