Se o número à direita for um único dígito e todos forem arquivos .pem
, você poderá usar a expansão de parâmetro para remover o dígito e a extensão e substituir a extensão:
for file in cert1.pem chain1.pem fullchain1.pem privkey1.pem
do
mv "$file" "${file%%?.pem}.pem"
done
A expansão de parâmetro funciona removendo a correspondência final mais longa ( %%
) de qualquer caractere único ( ?
) seguido por .pem
; depois disso, adicionamos manualmente o .pem
no final.
Observe que isso também renomeia arquivos como certX.pem
ou fullchain-.pem
, porque o caractere ?
se expande para qualquer caractere único.
Isso fica mais seguro no exemplo acima, porque listei manualmente os arquivos para renomear. Você poderia alternativamente usar algo como:
for file in *1.pem
do
mv "$file" "${file%%?.pem}.pem"
done
... que faz loops explicitamente sobre arquivos com 1.pem
no final de seus nomes.
Configuração:
$ ls
cert1.pem chain1.pem fullchain1.pem privkey1.pem
Execução:
$ for file in cert1.pem chain1.pem fullchain1.pem privkey1.pem
do
mv "$file" "${file%%?.pem}.pem"
done
Resultado:
$ ls
cert.pem chain.pem fullchain.pem privkey.pem