Предполагая, что это имена файлов фиксированной длины, это должно сработать.
#!/bin/bash
for sacfile in *SAC
do
new_sacfile=${sacfile:23:22}_${sacfile:0:22}${sacfile:45}
echo mv -v ${sacfile} ${new_sacfile}
done
Мы используем встроенную в bash манипуляцию с переменными , чтобы вырезать имя файла и изменить его по своему желанию. Когда вы будете довольны, вы можете удалить эхо перед оператором mv