在bash脚本中,如何将大型文本/csv文件拆分为n个文件(每个c行);生成的文件名需要从1开始编号,然后增加1 [0,1 ... 999 ...]。
csplit
命令几乎是为此作业的:
csplit -f output-csv. -n 4 -k input.csv 100 {2000}
将input.csv
分为文件中的前200,000行中的100行文件。输出文件将开始output-csv.
,然后将有4位数字。-k
表示"请勿在接收信号时清理"。根据输入文件的大小以及您的异想天开和欲望调整数字。
请注意第一个文件的古怪行为,记录在链接到的POSIX手册页面。