Posible solución (necesita elegir una en el cuerpo del bucle):
#!/bin/bash
pattern="pattern"
i=0
for file in `find <your_path> -type f -name '*.zip'`
do
extension="${file##*.}"
filename="${file%.*}"
# without extenstion
mv "$file" "$filename-$pattern.$extension"
# whole filename
mv "$file" "$pattern-$i"
i=$((i + 1))
done
Просто улучшите шаблон соответствия, включив в него пустую строку:
sed '/^Group:\|^$/! s/^/;/' index1.txt
Таким образом, пустая строка также останется нетронутой.
А как насчет этого:
sed '/^Group:\|^$/! s/^/;/' file