大きなtxtファイルを特定の小さなファイルに分割する

大きなtxtファイルを特定の小さなファイルに分割する

250,000×3600(行3600個、列250,000個)形式のtxtファイルがあり、それぞれ250,000×1サイズの小さなtxtファイル3600個に分割します。

分割は、基本的に大きなファイルを特定のサイズの小さなファイルに分割することを理解しています。同じ手法によれば、同じサイズのファイルを得ることができますが、各ファイルは249,999 * 1または250,001 * 1です。

誰が私を助けることができますか?

ベストアンサー1

私は小さなスクリプトを書くことを提案します:

NR_LINES=$(wc -l your-file | awk '{ print $1 }')
for line in {1..$NR_LINES}; do
  head -n $line your-file | tail -n 1 > your-file.part$line
done

これにより、ファイルの行番号が変数に保存されますNR_LINES。おそらく、ファイルに興味があるよりも多くの行が含まれている可能性があります。この場合、変数を直接設定する必要があります。スクリプトはファイルの1から最後の行まで繰り返されます。実行ごとに最初を印刷します。Nいいね( $line)。これはパイプで接続され、tail最後の行だけを印刷し、結果をファイルに保存します。

おすすめ記事