sort csv file keeping header on first line

using only bash

sorting by column two maintaining first line as header

tail -n +2 file.csv | sort -t, -k2n | cat <(head -1 file.csv) -

sorting by column two maintaining first line as header and format output as tsv

tail -n +2 file.csv | sort -t, -k2n | cat <(head -1 file.csv) - | column -s, -t

using sed + bash

sorting by column two maintaining first line as header

sed -n '2,$p' file.csv | sort -t, -k2n | cat <(sed 1q file.csv) -

Leave a comment