Aqui está um script bash para isso ( revisado para o caso geral com base na pergunta revisada do OP):
for file in *.log; do
echo mv "$file" "${file:10:$((${#file}-14))}".${file::10}_1.log;
done
Acima da ${file:X:Y}
é a sintaxe% de expansão bash ${variable:offset:length}
e comprimento dos caracteres começam em deslocamento de seu variable
(ou parâmetro) e renomeiam com mv
comando. Basta remover o echo
depois de garantir que o resultado é esperado como você deseja.
O resultado acima é o seguinte:
mv 27_07_2017case5.log case5.27_07_2017_1.log
mv 27_07_2017file1vc001vpxd-1605.log file1vc001vpxd-1605.27_07_2017_1.log
mv 27_07_2017file2vc001vpxd-9169.log file2vc001vpxd-9169.27_07_2017_1.log
mv 27_07_2017file3vc001vpxd-4640.log file3vc001vpxd-4640.27_07_2017_1.log
mv 27_07_2017file4vc001vpxd-9170.log file4vc001vpxd-9170.27_07_2017_1.log
mv 27_07_2017file5.log file5.27_07_2017_1.log
mv 27_07_2017file5vc001vpxd-4641.log file5vc001vpxd-4641.27_07_2017_1.log
mv 27_07_2017number-blahblahblah5.log number-blahblahblah5.27_07_2017_1.log
mv 27_07_2017number-blahblahblah5AAABBC.log number-blahblahblah5AAABBC.27_07_2017_1.log
mv 27_07_2017number5.log number5.27_07_2017_1.log