Posted in: Vývoj počítačů, Windows 10, Windows 11, Windows 8 a 8.1, Windows server, Základy PowerShellu

Čtení velkých textových souborů PowerShell

Určitě nejsem sám, kdo narazil u velkých souborů na to, že rutina Get-Content zabírá příliš mnoho RAM, u cca 150 MB txt souboru i více jak 4 GB RAM, pokud potřebuji zpracovávat soubor po jednotlivých řádcích. Obecně se doporučuje využít .NET rutiny, jak popisuje Yusuf Ozturk » PowerShell Performance Tips for Large Text Operations – Part 1: Reading Files

Z výše uvedeného se mi v praxi nejvíce osvědčilo:

$LogFilePath = Read-Host -Promt "Zadej cestu k souboru"
$Lines = [io.file]::ReadAllLines($LogFilePath)
[int]$LineNumber = 0;
 
# Read Lines
foreach ($Line in $Lines)
{
	$LineNumber++
        Write-Host $Line #vypíše aktuální řádek
}

V proměnné Line se nachází aktuální řádek souboru, takže je možné s nám dále pracovat.

Back to Top