【发布时间】:2015-08-28 19:58:03
【问题描述】:
如何重新创建整个目录结构并仅复制扩展名为 .txt 的文件(如果存在)。我想复制目录或子目录,即使它是空的。
【问题讨论】:
如何重新创建整个目录结构并仅复制扩展名为 .txt 的文件(如果存在)。我想复制目录或子目录,即使它是空的。
【问题讨论】:
这是一行命令:)
rsync -vapEtogR --progress --stats --log-file="log_file_name.txt" --include '*/' --include '*.txt' --exclude '*' source_path/ destination_path/
使用rsync --help 了解所使用的选项。
【讨论】:
rsync 命令中的选项是重复的,因为-a 已经提供了-rlptgoD。
cd source-dir
find . -type d -mindepth 1 -exec mkdir target-dir/{} \;
避免创建目录“.”和错误“没有这样的文件或目录”。
【讨论】:
创建目录结构:
cd source-dir
find . -type d -exec mkdir target-dir/{} \;
您可以忽略无法创建. 的消息。
然后,将txt 文件复制到其中:
find . -type f -name '*.txt' -exec cp {} target-dir/{} \;
【讨论】:
{}之前删除/?
mkdir -p 也有帮助。 (我在第二个发现中添加了一个点,一个明显的错字)