If your files are named with leading zeros, it would be easier, i.e.
cat [0-9].csv [0-9][0-9].csv .... > new.csv
But its not too difficult to get a true serial number, given
ls -1 1 10 11 12 13 2 20 21 3 7 8 9
(in both examples, note that the ls option is number one, (1), not the letter L (l))
and
ls -1 [0-9]* | sort -n 1 2 3 7 8 9 10 11 12 13 20 21
THEN
cat $( ls -1 *.csv | sort -n ) > new.csv
Suppose all your csv files are numbered.
If you have more than 1000 files, the processing of file files in the shell may break, and you should post a new question for the correct use of xargs.
Add shell debug / shell trace to see what happens
set -vx # to turn on set +vx # to turn it off
.
IHTH.
source share