我想将 test/path/to/file/filename.xyz 形式的文件列表复制到其相应的生产路径 prod/path/to/file/filename.xyz。如果测试路径和产品路径相同,除了存在“prod”而不是“test”,我可以使用以下命令吗?这会覆盖目标文件吗?
$ xargs -I % --arg-file=input.txt cp /test/% /prod/%
答案1
编辑 input.txt 使其内容如下(注意+
)
+ /path/to/file/filename.xyz
然后,
rsync -amv \
--include '*/' \
--include-from input.txt \
--exclude '*' \
test/ prod/
您还可以通过动态编辑文件来直接运行它,例如:
rsync -amv \
--include '*/' \
--include-from <(sed 's/^/+ /' input.txt) \
--exclude '*' \
test/ prod/
您可能需要更改表达式sed
以满足您的需求。