我想在一个txt文件中组合3000k txt文件 试过这个:
cat ./data/*.txt >>final1.txt
但这是错误的
bash: /bin/cat: Argument list too long
如何做到这一点
答案 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
注意: - 您的计算机上必须有空间以容纳单个合并(大一个)文件和现有文件。