Você pode encontrar informações sobre as substituições ${...}
na página man do seu shell, por exemplo, bash (1) . O mais comum:
-
${var#word}
remove o prefixo mais curto: o valor da variávelvar
com o prefixoword
(se houver) removido; -
${var%word}
remove o sufixo mais curto: o valor da variávelvar
com o sufixoword
removido (se houver). -
${var/pattern/replacement}
remove a primeira ocorrência do padrão -
${var//pattern/replacment}
remove todas as ocorrências do padrão
Então, no seu exemplo, ${f#image}
se expande para o valor de f
(por exemplo,
image01.png
) removendo o prefixo image
, então ele gera o valor
01.png
.
A parte word
e replacement
nas expansões ${...}
são
sujeito às mesmas expansões curinga como nomes de arquivos; assim sendo,
Se você quiser remover espaços e -
, poderá usar ${f//[ -]/}
(substitui qualquer ocorrência de caracteres e
-
por uma string nula.
Todos os detalhes na página man.