Bash 如何复制没有内容的文件和文件夹?

Bash 如何复制没有内容的文件和文件夹?,bash,Bash,情况是这样的:我需要复制一个文件服务器文件夹和文件,但我只关心名称,而不关心实际的文件内容,因此为了避免复制TB级的数据,我只想在另一个卷上的文件夹中创建0字节的文件,如下所示: /vol1/folder1/file1.mov (3.2 GB) -> /vol2/folder1/file1.mov (0 B) /vol1/folder2/file3.txt (0.2 KB) -> /vol2/folder2/file3.txt (0 B) 等等 通过将find/vol1/的输出管道

情况是这样的:我需要复制一个文件服务器文件夹和文件,但我只关心名称,而不关心实际的文件内容,因此为了避免复制TB级的数据,我只想在另一个卷上的文件夹中创建0字节的文件,如下所示:

/vol1/folder1/file1.mov (3.2 GB) -> /vol2/folder1/file1.mov (0 B)
/vol1/folder2/file3.txt (0.2 KB) -> /vol2/folder2/file3.txt (0 B)
等等

通过将
find/vol1/
的输出管道连接到
touch
上,我在一定程度上实现了这一目标,但这种方法无法正确处理文件夹


我使用的是Mac电脑,如果这有什么区别的话。

如果只有目录和常规文件,你可以这样做:

cd "$src"
find . -type d -print0 | ( cd "$dst" ; xargs -0 mkdir -p )
find . -type f -print0 | ( cd "$dst" ; xargs -0 touch )