我想將一組文件複製到目標資料夾。但不需要cp
為每個操作產生一個新實例。
arg 格式cp
似乎是:
cp src_file1 src_file2 src_file3 dest_dir/
假設我有一個文件,其中原始檔名逐行列出,該怎麼辦?
由於我有大量文件,下面@Scott 的想法將不起作用,因為它將達到最大命令行長度。
我想以某種方式將該文件名通過管道傳輸到cp
並讓它完成它的工作。 xargs
似乎也無濟於事,因為它想在命令列末尾添加擴展。
這可以做到嗎?
謝謝
答案1
如果filelist
包含
apple
orange
banana
其中這些是您要複製到目錄的檔案的名稱fruity
,請鍵入
cp `cat filelist` fruity
/
最後你不需要。
警告:如果任何檔案名稱包含空格,例如passion fruit
.
答案2
模擬print0
查找:
cat filelist |perl -p -e 's/\n/\000/' |xargs -0 cp --target-directory dest_dir/
樣本包括xargs -0
,--target-directory