Portrait Michael Malura

CSV Dateien splitten

Musste ein CSV mit 14k Einträgen in mehrere Files splitten weil der Import auf einem unserer Server crashte wenn ich alles auf einmal importiert hab.

# split -l lines file_to_split output/
$ split -l 4000 export.csv export/venues
$ ls venues
venuesaa venuesab venuesac venuesad
$ cd export
# append .csv extension to every file
$ for i in *; do mv "$i" "$i.csv"; done
$ ls
venuesaa.csv venuesab.csv venuesac.csv venuesad.csv
# get header of the first file
$ header=$(head -n 1 venuesaa.csv)
# prepend header to every other file
$ ls | grep -v venuesaa | xargs echo -e "$header\n$(cat {})" > {}
26.03.2018 aktualisiert 16.04.2026