windows下写一个批处理spit.bat
@echo off如上面的代码所示,它将原始的csv文件拆分为多个csv文件,限制为2万行。您要做的就是相应地更改!file!和!limit!变量。希望能帮助到你。
setLocal EnableDelayedExpansion
set limit=20000
set file=export.csv
set lineCounter=1
set filenameCounter=1
set name=
set extension=
for %%a in (%file%) do (
set "name=%%~na"
set "extension=%%~xa"
)
for /f "tokens=*" %%a in (%file%) do (
set splitFile=!name!-part!filenameCounter!!extension!
if !lineCounter! gtr !limit! (
set /a filenameCounter=!filenameCounter! + 1
set lineCounter=1
echo Created !splitFile!.
)
echo %%a>> !splitFile!
set /a lineCounter=!lineCounter! + 1
)
linux下很简单
split -l 5000 ../sample.csv -d -a 4 sample_在Linux中,可以使用split 命令来分割文件,具体格式为:split [options] file [prefix].
其中 options为可选参数, 最后一个参数prefix是为分割后的文件指定文件名前缀.
-b: 根据文件大小分割,分割后文件大小可以为:k (KB), M (MB), G (GB), c (byte), w (word)等...
-l: 根据行数来分割.
-d: 指定以数字为后缀.
-a length: 指定长度为length的后缀.
file: 待分割文件.
例如:
命令 split -b 20k example.txt -d -a 3 split_file
表示分割文件example.txt,每个文件大小为20k, 并且以分割后文件以split_file加三位数字为前缀命名.
网友回复