我有一个 .txt 文件,其中包含超过 450 行的列表,例如。
name_1
name_2
name_3
etc
我想复制一个名为file_to_copy.txt
x 次 (~450) 的文件并自动将我刚刚创建的文件重命名为 name_1、name_2 等等,直到我创建了 ~450 个文件,每个文件都由前面提到的 .txt 中的一行命名文件。
我怎样才能做到这一点?
也许你想说:
while read name; do
cp file_to_copy.txt "${name}";
done < my_text_file_with_filenames.txt
@devnull 的答案的替代方法可能比这个答案更规范,它是使用您最喜欢的文本编辑器插入cp file_to_copy.txt
文件中所有行的前面,然后获取它。它又快又脏,但如果您不熟悉 Bash 循环或一般的 GNU 工具,它可以很快完成工作。
试试这一行:
sed 's/^/cp file_to_cp.txt &/' foo.txt|sh
删除|sh
以查看生成的 cp 命令,并|sh
执行这些命令。