【问题标题】:Complex Grep Issue复杂的 Grep 问题
【发布时间】:2013-11-19 17:24:00
【问题描述】:

我有一个完整的文件名列表(每一行是一个文件名)。如何多次复制文件(例如 text.txt)并重命名(example1.txt、example2.txt 等)。最后,我想要多个具有 text.txt 内容但具有我列表的文件名的文件。这可能吗?

【问题讨论】:

  • 这与sed或grep无关
  • 欢迎堆栈溢出。正如@glennjackman 指出的那样,您的问题与 sed 或 grep 并没有直接关系(尽管我想您可以使用这些命令编写脚本)。我会查看重命名命令,请参阅stackoverflow.com/a/1086509/505191

标签: sed grep file-rename filelist


【解决方案1】:

假设列表中的文件名中没有空格:

for f in $list; do cp text.txt $f; done

如果有空格,假设 bash:

while IFS= read -r f; do cp text.txt "$f"; done <<< "$list"

【讨论】:

    【解决方案2】:
    while read line; do
        cp text.txt "$line"
    done < text.txt 
    

    您遍历文件中的所有行,并为每个文件名调用一个单独的cp 命令。

    【讨论】:

      【解决方案3】:

      这可能对你有用(GNU sed):

      sed 's|.*|cp -v text.txt "&"|e' list.txt
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-30
        • 1970-01-01
        • 2015-11-05
        相关资源
        最近更新 更多