【问题标题】:Bash: Copy a file x times and rename the file automatically from a list in txtBash:复制文件x次并从txt中的列表自动重命名文件
【发布时间】:2013-11-24 17:52:33
【问题描述】:

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

name_1
name_2
name_3
etc

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

我该怎么做?

【问题讨论】:

    标签: bash copy rename


    【解决方案1】:

    也许你想说:

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

    【讨论】:

    • @pythonboxquestion 很高兴知道它有效。您可能想阅读thisthis
    【解决方案2】:

    试试这条线:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2021-01-06
        • 2012-01-29
        • 2017-02-16
        • 2023-03-22
        • 1970-01-01
        • 2020-03-24
        • 2011-02-23
        • 1970-01-01
        • 2015-05-09
        相关资源
        最近更新 更多