Tenho os arquivos abaixo. Há quatro arquivos no total:
cert1.pem chain1.pem fullchain1.pem privkey1.pem
Eu quero cortar o número da cauda de cada arquivo ( 1
aqui). Como uso um script de shell para lidar com isso automaticamente? Estou familiarizado com alguns comandos, mas acho que não sou bom em escrever scripts de shell para lidar com esse processamento em lote.
Se o número final for de um único dígito e todos forem
.pem
arquivos, você poderá usar a expansão de parâmetro para remover o dígito e a extensão e substituir a extensão:A expansão do parâmetro funciona removendo a correspondência final mais longa (
%%
) de qualquer caractere único (?
) seguido por.pem
; depois disso, adicionamos manualmente de volta.pem
no final.Observe que isso também renomeia arquivos como
certX.pem
oufullchain-.pem
, porque o?
caractere se expande para qualquer caractere único.Isso é mais seguro no exemplo acima porque listei manualmente os arquivos a serem renomeados. Alternativamente, você pode usar algo como:
... que faz um loop explicitamente sobre arquivos com
1.pem
no final de seus nomes.Configurar:
Execução:
Resultado: