将以下脚本保存为 split_csv.sh
然后执行 split_csv.sh data.csv 100
可以将 data.csv
按照每个文件 100 行数据,分割为多个小文件,命名格式为:
data_0000.csv
data_0001.csv
data_0002.csv
data_0003.csv
data_0004.csv
...
脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #!/bin/bash
file_path=$1 line_number=$2
file_name=${file_path%.*} file_ext="."${file_path##*.}
filter_cmd='sh -c "{ head -n1 '${file_path}'; cat; } > $FILE"' echo $filter_cmd tail -n +2 $file_path | split -d -l $line_number -a 4 --additional-suffix $file_ext --filter="$filter_cmd" - ${file_name}_
|