假设我有一个如下所示的目录结构:
file1.txt
folder1/
file2.txt
folder2/
file3.txt
如何将 file1.txt、file2.txt 和 file3.txt 合并为一个文件?
编辑:此目录结构仅作为示例。问题是关于如何在给定任何目录结构和任何文件数量的情况下连接子文件夹中的文件。
答案1
cat file1.txt folder1/file2.txt folder2/file3.txt > single.txt
答案2
我们正在谈论什么操作系统?
假设是 Windows,使用以下命令(根据需要替换文件/文件夹名称):
C:\> ren > TARGET.TXT 2> nul
C:\> cd MyFolder
C:\MyFolder> for /R %i in (*) do copy /b \TARGET.TXT + "%i" \TARGET.TXT
C:\TARGET.TXT
第一行使用内置命令创建(或删除)文件。第三条命令递归遍历当前目录及其子目录中的每个文件,并将它们附加到目标文件(注意,它不会包含隐藏文件)。它使用/b
开关以二进制格式复制它们,以防某些文件不是纯文本。
答案3
copy /y file1.txt+folder1\file2.txt+folder2\file.txt destination.txt
应该可以
仅供参考,/y
禁用提示
答案4
我能够使以下内容在 Mac OS X 上运行:
find . -type f -exec cat {} > ../results.txt \;
但是,我不完全理解它为什么起作用,所以如果有人能解释一下的话会很有帮助。