将 3000k 个 txt 文件合并为一个 txt 文件Linux

Combine 3000k txt files into one txt file Linux

我想将 3000k 个 txt 文件合并到一个 txt 文件中 试过这个:

cat ./data/*.txt >>final1.txt

但是这是一个错误

bash: /bin/cat: Argument list too long

怎么做

编辑:- cat 命令用于 concatenation 多个文件。但它对否也有一些限制。文件作为参数。你可以试试这个:-

 for files in *.txt; do cat $files >> output.txt ;done

注意:- 您的机器上必须有 space 才能容纳单个合并的(大的)文件和现有文件。

你可以使用查找:

find ./data/ -name "*.txt" -exec cat "{}" \; >>final1.txt

* 扩展有限制,因为 bash 将其扩展到每个文件名,并且参数受内核设置限制 MAX_ARGS_PAGES(参见 http://www.linuxjournal.com/article/6060