gpt4 book ai didi

macos - 将大量文件合并为一个

转载 作者:行者123 更新时间:2023-11-29 09:06:41 24 4
gpt4 key购买 nike

我有大约 3 万个文件。我想将它们合并为一个。我使用了 CAT,但出现此错误。

cat *.n3 > merged.n3

-bash: /usr/bin/xargs: Argument list too long

如何增加使用“cat”命令的限制?如果有任何迭代方法可以合并大量文件,请帮助我。

最佳答案

这是一个安全的方法,不需要find:

 printf '%s\0' *.n3 | xargs -0 cat > merged.txt

(我还选择了 merged.txt 作为输出文件,正如@MichaelDautermann 的合理建议;之后重命名为 merged.n3)。

注意:这样做的原因是:

  • printf 是一个 bash shell builtin,其命令行不受传递给外部可执行文件的命令行的长度限制。
  • xargs 巧妙地将输入参数(通过管道 传递,因此也不受命令行长度限制)分成多个调用以避免长度限制;换句话说:xargs 在不达到限制的情况下进行尽可能少的调用。
  • 使用 \0 作为分隔符并与 xargs 的 -0 选项配对确保所有文件名 - 即使是那些带有嵌入空格甚至换行符的文件名 - 都通过原样。

关于macos - 将大量文件合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21209029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com