Para renomear arquivos de imagem em massa no Windows (assim como redimensionar, cortar, converter, etc.), geralmente uso IrfanView (Freeware)
Eu tenho um monte de arquivos x1.jpg, x2.jpg, x3.jpg, etc. que precisam ser nomeados x001.jpg, x002.jpg, x003.jpg, etc. Como posso fazer isso?
Editar: estou executando o Windows, mas tenho o cygwin instalado.
Para renomear arquivos de imagem em massa no Windows (assim como redimensionar, cortar, converter, etc.), geralmente uso IrfanView (Freeware)
Qual sistema operacional? * nix tem o utilitário de linha de comando rename
, que parece ser adaptado exatamente para esse tipo de coisa.
Uma abordagem mais genérica do que rename
(que não está disponível em todos os * nix), e potencialmente permitindo bastante criatividade:
find . -name 'x*' | while read filename; do mv "$filename" $(echo "$filename" | sed -e 's/x/x00/'); done
Cygwin, doce.
for NEWNUM in $(seq -w 1 100)
do
OLDNUM=$(echo $NEWNUM | sed -e 's/^0*//')
echo $OLDNUM $NEWNUM
# mv x${OLDNUM}.jpg x${NEWNUM}.jpg
done
Isso deve funcionar. Bem diferente do que comentou mv. O sinalizador -w para seq significa 'wide', significando begin pad com zeros quando necessário
A renomeação múltipla ou em massa pode ser chamada de renomeação em lote.
Total Commander é gerenciador de arquivos. Tem recurso de renomeação em lote. Você pode ver o tutorial ou lá .
O Irfan View é um navegador / editor de imagens. Tem renomear lote também. Você pode ver o tutorial lá .
Eu prefiro o Total Commander. Tem clones do Linux e eles provavelmente podem renomear arquivos também.
Ambos os programas são para o Windows. Ambos devem funcionar no Linux também por emulação.
Em puro bash:
for a in x?.jpg; do mv "$a" "${a/x/x00}"; done
for a in x??.jpg; do mv "$a" "${a/x/x0}"; done
Tags rename