[英]Copy large amout of files xargs
我正在嘗試使用xargs命令將大量文件從一個目錄復制到另一個目錄。 但是,這一做法似乎行不通。
# echo * |xargs cp -r /directry/destination
我做錯了什么?
它返回的是:
cp: target `file name' is not a directory
find -maxdepth 1 -mindepth 1 -exec cp -r -t /directry/destination {} ';'
缺省情況下,當有多個源Directlry時,cp會將LAST參數解釋為目標目錄,但是通過這種方式,您可以使用cp -r target source1 source2 source3...
因此,您會認為您打算將內容復制到最后一個源而不是目標。 如果使用的是gnu coreutils,則應該使用-t
或--target-directory
開關,以便可以指定要用作目標的目錄,以便可以使用echo * | xargs cp -r --target-directory /directory/destination
echo * | xargs cp -r --target-directory /directory/destination
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.