回答
你可以這樣做:
cp `cat list.txt` new-folder/
注意事項使用(將需要另一種解決方案,如果是這樣的話),這個時候,你應該避免在文件名中有空格。
的反引號執行cat list.txt
命令,並使用該命令的輸出作爲命令行到cp
的一部分。在命令行替換之前,cat
的輸出中的換行符摺疊爲空格。
請注意,這會使文件中的任何目錄層次平滑 - 它們將全部位於單個目錄中。 – 2009-11-11 00:01:43
這是真的。問題中提到了「文件名列表」而不是「路徑名列表」。 – 2009-11-11 00:08:03
我同意 - 這不是問題,除非提問者沒有考慮過這個問題。相反,我的答案可能不是提問者想要的 - 正是因爲它確實保留了目錄結構。在保留某些目錄結構的同時,想要從名稱中刪除某些部分的路徑還遠遠沒有聽過 - 這些答案都不涉及。 – 2009-11-11 01:17:48
使用循環
while read -r line
do
cp "$line" /destination
done <"file"
請注意,這將文件中的任何目錄層次結構展平 - 它們將全部位於單個目錄中。 – 2009-11-11 00:04:49
是的,但oP並沒有說他需要有相同的結構。他特別指出「複製.....到一個新文件夾」。 – ghostdog74 2009-11-11 00:57:13
如果你想保存的目錄結構,使用其中一個(假設的GNU tar):
cpio -pvdm /destination <list.txt
tar -cf - -F list.txt | tar -C /destination -x
在這兩種情況下,最終的結果是地/目的地以list.txt文件的名稱爲前綴。
循環:
dest="<destination folder>" #keep the quotes
for i in `cat < list.txt` #loop each line of list.txt
do
cp $i $dest #in each loop copy $i, e/a line of list.txt to $dest
echo "Done."
done
測試。確保存在「./list.txt」,否則手動填寫絕對路徑。 :)
原始海報不想將* file * list.txt移動到新文件夾中;相反,list.txt包含要移動的文件列表。 – 2009-12-14 21:08:20
我的不好!大聲笑我修好了 – user231609 2010-01-04 19:30:48
- 1. 通過Automator的終端複製文件
- 2. 通過終端添加列
- 3. 通過終端遞歸列出所有文件和文件夾
- 4. 使用終端複製文件內容
- 5. 將終端會話複製到文件
- 6. 通過Mac終端上傳文件夾
- 7. 通過終端
- 8. 通過終端
- 9. 通過終端
- 10. 獲取文件的網站的文件夾列表中,通過終端
- 11. 在終端執行腳本文件和通過終端
- 12. 如何通過linux終端複製文件中的網頁內容?
- 13. 可以從終端複製製表符
- 14. 通過scp複製文件
- 15. 通過powershell複製文件
- 16. 通過LastWriteTime複製文件
- 17. 複製.git文件夾終端複製全部
- 18. 通過終端重複CURL命令
- 19. rundeck - 通過終端
- 20. 通過wetransfer.com通過終端/ cmdline下載文件
- 21. 我怎樣才能複製文件的列表,用空格在Linux終端
- 22. 通過終端在ginerbread上打開adb通過終端
- 23. 通過終端降低透明度在Mac中通過終端
- 24. 通過終端列出視頻設備
- 25. 通過Unix終端更改多個文件的文件權限
- 26. MS-ACCESS通過文件對話框通過vba複製文件
- 27. 不通過條件複製的列R
- 28. 通過文件列表
- 29. 從文件複製的文件列表
- 30. 無法通過雲端控制檯或終端通過SSH連接到Google Compute實例。文件系統失敗?
這是一個shell腳本問題 - 關於編程。 – 2009-11-11 01:18:25