大容量(10Mライン)ファイルの効率的なヘッダー交換?

大容量(10Mライン)ファイルの効率的なヘッダー交換?

大容量ファイルの列ヘッダーの名前を変更しようとしている最も効率的な方法を知りたいです。ファイル長は10M~50Mラインで、各ラインは約100文字程度で、合計10個のカラムがあります。

誰かが同様の質問をして最初の行を削除しましたが、最良の答えは「尾」に関連していました。sedを使用して大容量ファイルヘッダを効率的に削除しますか?

私の推測は次のとおりです

bash-4.2$ seq -w 100000000 1 125000000 > bigfile.txt
bash-4.2$ tail -n +2 bigfile.txt > bigfile.tail && sed '1 s/^/This is my first line\n/' bigfile.tail > bigfile.new && mv -f bigfile.new bigfile.txt;

より速い方法がありますか?

ベストアンサー1

  1. 新しいヘッダーを新しいファイルに出力しますprintf "This is my first line\n > bigfile.new
  2. 残りを提供するには、追加のリダイレクトを使用してくださいtailbigfile>>

注:tail +2「GNUism」 - ほとんどのLinuxディストリビューションでは機能しますが、POSIXと互換性がなく、他のUnicesでは機能しない可能性があります。

おすすめ記事