我想將 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
以滿足您的需求。