将标头添加到大于 5GB 的大 csv 文件

将标头添加到大于 5GB 的大 csv 文件

我有一个大数据集文件 (5GB) 和300列,我想通过命令行添加一个简单的标头:

row-0;row1;row2 ... row299

我使用 sed (没有循环):

sed -i 1i'row-0;row-1;row-2 .... ; row-299' file.csv 

有没有更好/干净的方法来做到这一点?

谢谢

答案1

我不使用 ,而是sed生成一个带有标题的文件:

printf 'row-%s\n' {0..299} | paste -sd';' > header

然后您可以轻松地cat

cat header file.csv

如果你想覆盖:

cat header file.csv > file.csv.tmp && mv file.csv.tmp file.csv

或者没有中间文件:

cat <(printf 'row-%s\n' {0..299} | paste -sd';') file.csv > file.csv.tmp && mv file.csv.tmp file.csv

相关内容