UNIX:复制整个目录结构,仅复制特定文件类型

时间:2015-08-28 19:58:03

标签: shell unix ubuntu posix

如何重新创建整个目录结构并仅复制带有.txt扩展名的文件(如果存在)。我想复制目录或子目录,即使它是空的。

3 个答案:

答案 0 :(得分:1)

这是一行命令:)

rsync -vapEtogR --progress --stats --log-file="log_file_name.txt" --include '*/' --include '*.txt' --exclude '*' source_path/ destination_path/

使用rsync --help了解所使用的选项。

答案 1 :(得分:0)

创建目录结构:

cd source-dir
find . -type d -exec mkdir target-dir/{} \;

您可以忽略无法创建.的消息。

然后,将txt个文件复制到其中:

find . -type f -name '*.txt' -exec cp {} target-dir/{} \;

答案 2 :(得分:0)

cd source-dir
find . -type d -mindepth 1 -exec mkdir target-dir/{} \;

避免创建目录“。”和错误“没有这样的文件或目录”。