回答
你可以这样做:
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