复制一个目录结构,只触摸被复制的文件



我想模仿递归复制目录结构(如cp -rrsync -a),但只触及复制的文件,即使所有复制的文件为空。

具体的用例是一个蛇形管道;Snakemake查找现有文件,以决定是否重新运行管道步骤,我想让它相信这些步骤已经运行,同时避免完全下载所有文件。

这有点笨拙,但是您可以将findrsync -nv的输出管道到mkdir -ptouch的bash循环中:

find /some/dir -type f | while read FILE; do
mkdir -p $(dirname $FILE)
touch $FILE
done

最新更新