😊
CSVファイルを指定した行数で分割するワンライナー
MacでCSVファイルを指定した行数で分割するワンライナーです。
SPLIT_SIZE=100000 INPUT="hoge.csv"; BASE=$(basename "$INPUT" .csv); mkdir -p "$BASE"; awk -v sz="$SPLIT_SIZE" -v pref="$BASE/${BASE}_split_" 'NR==1{hdr=$0;next}{fn=sprintf("%s%03d.csv",pref,int((NR-2)/sz)+1);if(!seen[fn]++)print hdr>fn;print>>fn}' "$INPUT"
Discussion