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

おすすめ記事