unix - 如何连接大量文件

标签 unix concatenation cat

我想连接我的文件。我用的是

cat *txt > newFile

但是我有近 500000 个文件,它提示说

argument list is too long.

有没有一种高效快速的方法来合并五十万个文件?

谢谢

最佳答案

如果您的目录结构很浅(没有子目录),那么您可以简单地执行以下操作:

find . -type f -exec cat {} \; > newFile

如果您有子目录,您可以将查找限制在顶层,或者您可以考虑将一些文件放在子目录中,这样就不会出现此问题!

这不是特别有效,某些版本的 find 允许您执行以下操作:

find . -type f -exec cat {} \+ > newFile

提高效率。 (请注意,+ 之前的反斜杠不是必需的,但我发现它与前面的示例对称很好。)

关于unix - 如何连接大量文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18695105/

相关文章:

windows - 从UNIX到Windows的FTP时如何检查远程服务器上目录的存在

unix - 使用 socat 多播 mpeg-2 流

objective-c - 将文件复制到应用程序可能无法写入的目录

python - Pandas:什么是 NDFrame 对象(以及什么是非 NDFrame 对象)

linux - Awk:无法连接字符串

c++ - 从 C++ 调用 'cat' 的简单方法?

c - 如何获取服务器程序的 IP 地址?

Solr中连接字段的函数

shell - cat - 将文件内容合并为一个大文件

linux - 默认情况下,如何将帮助结果通过管道传递给 less?