請原諒,我可能沒有使用正確的術語來描述問題,並且誤解了幾個常見命令的最基本用法。
我有一個簡單的 find 語句來尋找我想要複製的檔案。我想附加 -exec cp {} 並讓 cp 將檔案從來源目錄複製到新的基本目錄,但包括完整路徑。例如:
find . -name *.txt
位於/user/username/projects/source.txt
cp {} [now what?]
將文件複製到/user/newuser/projects/source.txt
答案1
rsync -rlpv --files-from=<(find ...) /user/username/projects /user/newuser
答案2
如果您可以確定所有子目錄都存在,那麼這是一個有趣的選項:
cd /user/username/
find . -name \*.gz | sed 's/\.\(.*\)/.\1 ..\/newuser\1/' | xargs -n2 cp