use*_*742 7 unix concatenation cat
我想连接我的文件.我用
cat *txt > newFile
Run Code Online (Sandbox Code Playgroud)
但我有近500000个文件,它抱怨说
argument list is too long.
Run Code Online (Sandbox Code Playgroud)
是否有一种有效且快速的方法来合并五十万个文件?
谢谢
Wil*_*ell 13
如果您的目录结构很浅(没有子目录),那么您可以简单地执行:
find . -type f -exec cat {} \; > newFile
Run Code Online (Sandbox Code Playgroud)
如果您有子目录,可以将查找限制在顶层,或者您可以考虑将一些文件放在子目录中,这样就不会出现此问题!
这不是特别有效,并且某些版本的find允许您执行:
find . -type f -exec cat {} \+ > newFile
Run Code Online (Sandbox Code Playgroud)
提高效率.(注意在+没有必要之前使用反斜杠,但我发现前面的例子对称性很好.)