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

时间:2016-06-20 06:38:45

标签: linux merge cat

我想在一个txt文件中组合3000k txt文件 试过这个:

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

但这是错误的

bash: /bin/cat: Argument list too long

如何做到这一点

2 个答案:

答案 0 :(得分:2)

你可以使用find:

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

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

答案 1 :(得分:0)

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

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

注意: - 您的计算机上必须有空间以容纳单个合并(大一个)文件和现有文件。