Windows控制台如何从超大文件中提取指定范围行数保存到新文件
低内存提取巨型CSV指定行范围实现方法
适用环境
Windows 自带 Powershell 2.0 / CMD 环境,无需额外安装软件,全程流式处理,不加载全量文件、不生成临时文件,内存占用稳定在10MB以内。
PowerShell 2.0 实现命令
提取第3000001行到第3002000行的命令如下:
Get-Content file.csv | Select-Object -Skip 3000000 -First 2000 | Out-File output.csv
参数说明:
-Skip 3000000:跳过前3000000行,从第3000001行开始读取-First 2000:仅读取往后的2000行,读完就终止进程,不会继续扫描剩余文件- 如果需要调整提取范围,只需修改两个参数:跳过行数=起始行号-1,读取行数=结束行号-起始行号+1即可。
CMD 实现命令
如果习惯用CMD操作,可以结合more命令和轻量PowerShell调用实现,命令如下:
more +3000001 file.csv | powershell -Command "$input | Select-Object -First 2000" > output.csv
如果设备上安装了GNU核心工具包(比如Git Bash、Cygwin环境),也可以用更简洁的sed命令:
sed -n "3000001,3002000p" file.csv > output.csv
内容的提问来源于stack exchange,提问作者Camilo Dorado
相关产品推荐
相关产品推荐

