【问题标题】:Concatenate files with prefix用前缀连接文件
【发布时间】:2014-03-11 08:18:08
【问题描述】:

假设一个文件夹的文件名如下:

FOO.1
FOO.2
...
BAR-1.1
BAR-1.2
...
BAR-2.1
BAR-2.2
...

我想将它们连接起来,从而生成 3 个文件:

FOO (consisting of FOO.1 + FOO.2 + FOO.N)
BAR-1 (consisting of BAR-1.1 + BAR-1.2 + BAR-1.N)
BAR-2 (consisting of BAR-2.1 + BAR-2.2 + BAR-2.N)

这将如何在 bash/shell 脚本中完成?假设所有文件都在一个文件夹中(无需进入子文件夹)

需要事先不知道文件名前缀

【问题讨论】:

    标签: bash shell


    【解决方案1】:
    for file in *.*
    do
      prefix="${file%.*}"
      echo "Adding $file to $prefix ..."
      cat "$file" >> "$prefix"
    done
    

    【讨论】:

      【解决方案2】:
      for i in  $(ls | sed  's/\(.*\)\..$/\1/' | sort -u)
      do
        cat $i* > $i
      done
      

      【讨论】:

      • 需要事先不知道文件名前缀 - 上面已编辑以反映这一点
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-20
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多