Você pode fazer isso com bastante facilidade com o comando rename
. O único problema é preservar a extensão. Começamos substituindo todos os pontos, mas depois substituímos _png
por .png
. Você obviamente precisará adaptar isso para outros tipos de extensão.
cd /path/to/images
rename 's/\./_/g; s/_png$/.png/' *.png -vn
Nota: o -vn
no final só demonstrará o que faria. É um gatilho de segurança. Verifique se o comando faz o que você quer e então remova a última parte.
Um equipamento de teste super simples:
$ touch file.{01..10}.png
$ rename 's/\./_/g; s/_png$/.png/' *.png -vn
file.01.png renamed as file_01.png
file.02.png renamed as file_02.png
file.03.png renamed as file_03.png
file.04.png renamed as file_04.png
file.05.png renamed as file_05.png
file.06.png renamed as file_06.png
file.07.png renamed as file_07.png
file.08.png renamed as file_08.png
file.09.png renamed as file_09.png
file.10.png renamed as file_10.png