用前缀连接文件

时间:2014-03-11 08:18:08

标签: bash shell

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

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脚本中完成?假设所有文件都在一个文件夹中(无需进入子文件夹)

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

2 个答案:

答案 0 :(得分:1)

for file in *.*
do
  prefix="${file%.*}"
  echo "Adding $file to $prefix ..."
  cat "$file" >> "$prefix"
done

答案 1 :(得分:0)

for i in  $(ls | sed  's/\(.*\)\..$/\1/' | sort -u)
do
  cat $i* > $i
done