假设文件夹的文件名如下:
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脚本中完成?假设所有文件都在一个文件夹中(无需进入子文件夹)
要求事先不知道文件名前缀
答案 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