1

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

name_1
name_2
name_3
etc

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

我怎样才能做到这一点?

4

3 回答 3

4

也许你想说:

while read name; do
  cp file_to_copy.txt "${name}";
done < my_text_file_with_filenames.txt
于 2013-11-12T14:20:26.803 回答
0

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

于 2013-11-12T14:25:37.597 回答
0

试试这一行:

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

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

于 2013-11-12T14:24:30.067 回答