for file in APP_*.gif; do
new=${file#APP_}
new=${new#0}
mv "$file" "$new"
done
Eu tenho uma carga de arquivos em um diretório. Todos eles têm nomes como:
APP_001.gif
APP_101.gif
Como eu posso renomeá-los em massa para
01.gif
101.gif
i.e. livrar-se do prefixo antes de _
e, em seguida, remover o primeiro zero inicial?
Obrigado!
for file in APP_*.gif; do
new=${file#APP_}
new=${new#0}
mv "$file" "$new"
done
shopt -s extglob; for f in in APP_*.gif; do mv "$f" "${f##app_?(0)}"; done
Se os nomes reais não forem importantes e quiserem que todas as fotos tenham nomes únicos, mas organizados, você poderá abrir o automator e criar a seguinte ação de automação.
Isto é o que eu faço, e depois salvá-lo como um serviço (supondo que você tenha 10.6, snow leopard), então você pode selecionar qualquer grupo de arquivos no visor, clique direito e selecione. Essa versão solicita ao usuário o prefixo de cada arquivo e, em seguida, usa esse valor (instruções sobre como referenciar uma variável em uma ação de um autômador aqui ), mas você também pode usar a ação renomear sozinha para numerar arquivos sequencialmente.
Tags mv batch-rename macos filenames