我想模仿递归复制目录结构(如cp -r
或rsync -a
),但只触及复制的文件,即使所有复制的文件为空。
具体的用例是一个蛇形管道;Snakemake查找现有文件,以决定是否重新运行管道步骤,我想让它相信这些步骤已经运行,同时避免完全下载所有文件。
这有点笨拙,但是您可以将find
或rsync -nv
的输出管道到mkdir -p
和touch
的bash循环中:
find /some/dir -type f | while read FILE; do
mkdir -p $(dirname $FILE)
touch $FILE
done