无法使用 cat 合并文件

无法使用 cat 合并文件

我尝试打开很多文件(10,000+),cat然后将它们合并为一个,如下所示:

cat * > ~/Desktop/lol.xml

但它返回了这个错误:

-bash: /bin/cat: Argument list too long

这意味着它太长/太大,我还能用什么其他方法来做到这一点?

答案1

find . -maxdepth 1 -type f --exec cat {} + > ~/Desktop/lol.xml

这会cat使用最大可能数量的参数进行调用。对于剩余的参数,cat将启动新的实例。

答案2

命令可以采用的参数数量是有限制的。解决方法是使用for loop

for file in *; do cat "$file"; done

最大值可以用以下方式显示:

$ getconf ARG_MAX 

相关内容