【发布时间】:2015-05-09 01:48:16
【问题描述】:
我想把一个文件夹及其子文件夹下的所有文件合并成一个文件total.txt,所以我试试
find . -type f -exec cat {} +; > total.txt
输出无法重定向
管道也不能工作:
find . -type f -exec cat {} + | cat > total.txt
这可能是由-exec 引起的,它将其后面的所有参数作为命令?
对吗?以及如何解决?或者有没有更好的方法来实现这一点。
任何帮助将不胜感激:)
【问题讨论】:
-
我发现你的第二种方法效果很好。你觉得它有什么问题?
-
@nobar 它运行了很长时间,似乎永远不会结束
-
我打赌那是因为它正在将 total.txt 复制到自身中。当我用小文件进行测试时,这并没有发生,但是当我在文件夹中有足够的内容时,它确实发生了——它可能会继续读取和写入不断增长的 total.txt,直到它填满磁盘。这就是为什么威廉建议复制到
..而我建议使用! -path ./total.txt。