Bash:复制文件x次,并自动从txt中的列表重命名文件

时间:2013-11-12 14:17:31

标签: bash copy rename

我有一个.txt文件,其中包含超过450行的列表,例如

name_1
name_2
name_3
etc

我想复制一个名为file_to_copy.txt x次(~450)的文件并自动将我刚刚创建的文件重命名为name_1,name_2等,直到我创建了〜450个文件,每个文件都由前面提到的.txt文件中的一行。

我该怎么做?

3 个答案:

答案 0 :(得分:4)

也许你想说:

while read name; do
  cp file_to_copy.txt "${name}";
done < my_text_file_with_filenames.txt

答案 1 :(得分:0)

试试这一行:

sed 's/^/cp file_to_cp.txt &/' foo.txt|sh

删除|sh以查看生成的cp命令,|sh执行这些命令。

答案 2 :(得分:0)

@ devnull的答案的替代方案,可能比这个更规范,是使用您喜欢的文本编辑器在文件中的所有行之前插入cp file_to_copy.txt然后获取它。它既快速又脏,但如果您不熟悉Bash循环或GNU工具,它可以快速完成工作。