シェルスクリプトを使用して次のことを行います:(簡単にするために、INPUTにも同じデータを使用します。実際には、データはループラベルjjで変更されます)
#!/bin/sh
for jj in `seq 100`; do
cat INPUT.file >> OUTPUT.file
done
ただし、ファイルの開閉がループ内にあるため、これは非常に非効率的です。 INPUT.fileのサイズが大きい場合、このコードは非常に遅くなります。ですから、Cで事前に割り当てられた変数を作成するようなバッファを作成/作成する方法があるかどうか疑問に思っています。
承認された回答:
「エコーと猫の実行時間にこんなに違いがあるのはなぜ?」というステファン・チャゼラスの答えのおかげで、cat
を呼び出すことでmuruの答えが少し改善されるかもしれません。 一度だけ(ただし、この「少量」の量は、ビッグデータと多数のループ反復で大量になる可能性があります。私のシステムでは、このスクリプトはループを持つスクリプトにかかる時間の最大75%を要します):
#!/bin/sh
yes INPUT.file | head -100 | xargs cat >> OUTPUT.file