10

ファイルを連結したい。私が使う

cat *txt > newFile

しかし、私はほぼ 500000 個のファイルを持っています。

argument list is too long.

50 万個のファイルを効率的かつ迅速にマージする方法はありますか?

ありがとう

4

2 に答える 2

4

ループでそれを行うのはどうですか:

for a in *.txt ; do cat $a >> newFile ; done

catこれには、ファイルごとに新しいインスタンスを生成するという欠点があり、コストがかかる可能性がありますが、ファイルがかなり大きい場合、新しいプロセスを生成するために必要な CPU 時間よりも I/O オーバーヘッドが支配的になります。

ファイルを適切な順序で含むファイルを作成することをお勧めします。このような (そして質問のように) グロビングを使用する保証については 100% 確信が持てません。

于 2013-09-09T09:24:03.163 に答える