使用 Windows 10 Powershell 从文本文件中获取一系列记录



我想使用 Windows Powershell 从换行符终止的文件中提取任意范围的记录(记录 x 到记录 y( - 我正在使用的文件超过 7GB(超过 3700 万条记录(,这使得从文件开头或结尾以外的任何地方提取记录时Get-Content有点不合理,因为它将指定范围的记录加载到内存中(并且一直导致我的系统表现不佳(。

(Get-Content -Path .7GB.txt -TotalCount 10000000)[-1000..-1]

有没有人建议如何使用Windows 10 PowerShell实现这一目标?

Get-Content放在括号中会将整个指定内容读入内存,然后再继续。别这样。Select-Object允许您从给定的输入列表中提取特定范围。

Get-Content 'input.txt' | Select-Object -Skip 50 -First 100

上面将为您提供输入文件中的第 51 行到 150 行。

基于接受的答案,我编写了我的第一个Windows Powershell cmdlet实用程序,其中包含此方法。我已经在 MIT 许可证下将源代码发布在 GitHub 上:

https://github.com/autopulous/powershell.large.file.record.plucker

最新更新