2015-10-31 23 views
3

我正在嘗試使用xargs -a來讀取其中包含文件名列表的文件的內容。「xargs -a file」將文件複製到文件夾

我的目錄中看起來像工作:

backups 
file1.bak 
file2.bak 
file3.bak 
bakfiles.txt 

文件名與文件名中的:bakfiles.txt

bakfiles.txt內容:

file1.bak 
file2.bak 
file3.bak 

所以基本上我試圖複製file1.bak,file2.bak,file3.bak放入文件夾backups。但是使用bakfiles.txt的內容來做到這一點。

我想:

xargs -a bakfiles.txt | cp {} backups 

但我得到的錯誤:

cp: cannot stat `{}': No such file or directory 

我應該提及我也嘗試:

xargs -a bakfiles.txt cp {} backups 

並且得到錯誤:

cp: target `file3.bak' is not a directory 
+0

在F MKS工具箱版本第一次嘗試肯定是錯誤的。從你的第二次嘗試看xargs manpage,試着在大括號中放上單個的蜱。像:xargs -a bakfiles.txt -I'{}'cp'{}'備份 –

+0

這並不奏效。儘管感謝您的幫助! – CalcGuy

+0

我只是在tsch和bash中試過,它對我來說工作得很好。你有沒有使用我評論的最新版本?當我不斷地搞砸它時,我不得不更新它幾次。 –

回答

3

這爲我工作在Windows 7使用的 'xargs的'

cat bakfiles.txt | xargs -I '{}' cp '{}' backups/'{}'

相關問題