Используйте seq и sed
Вы можете использовать утилиту seq для создания своего CSV-заголовка, с небольшой помощью из расширений Bash. Затем вы можете вставить новую строку заголовка в существующий файл CSV или объединить заголовок с вашими данными.
Например:
# construct a quoted CSV header
columns=$(seq -f '"col_%g"' -s', ' 1 1001)
# strip the trailing comma
columns="${columns%,*}"
# insert headers as first line of foo.csv with GNU sed
sed -i -e "1 i\\${columns}" /tmp/foo.csv
Предостережения
Если у вас нет GNU sed, вы также можете использовать cat, sponge или другие инструменты для объединения заголовка и данных, хотя для большинства ваших вариантов объединения потребуется перенаправление в новый объединенный файл, чтобы избежать слипания существующих данных. .
Например, в качестве исходного файла данных укажите / tmp / data.csv :
seq -f '"col_%g"' -s', ' 1 1001 > /tmp/header.csv
sed -i -e 's/,[[:space:]]*$//' /tmp/header.csv
cat /tmp/header /tmp/data > /tmp/new_file.csv
Кроме того, обратите внимание, что хотя решения Bash, позволяющие избежать вызова стандартных утилит, возможны, выполнение этого в чистом Bash может быть слишком медленным или требовательным к памяти для больших наборов данных.
Ваш пробег может отличаться.