Batch muda as extensões de arquivo no Mac OS X?

2

Eu usei o wget para baixar um site em uma pasta. Quando os arquivos têm os mesmos nomes, wget armazena o novo como name.extension. #

Agora eu tenho centenas de arquivos como 1.jpg, 1.jpg.1, 1.jpg.2, etc.

Como posso alterar todos os arquivos com uma extensão .jpg * em formato .jpg?

EDIT: Eu usei o freeware NameChanger, que me permite organizar por dados EXIF antes de alterar a extensão.

    
por Thalecress 06.05.2012 / 00:41

4 respostas

3

Use Name Mangler para fazer isso. Shareware, mas: Versão de teste: o nome Mangler funcionará por 25 lançamentos sem limitação.

Você pode ver os nomes dos arquivos originais e futuros à esquerda e a configuração do Número Sequencialmente que usei à direita. Importante aqui é definir manualmente o sufixo .jpg e não anexar a extensão original.

O NameChanger gratuito também pode fazer isso. (obrigado slhck !)

    
por 06.05.2012 / 03:40
1

Suponho que você deseja que 1.jpg.1 seja renomeado para 1-1.jpg ou você os perderá. Rápido e sujo vem à mente: basta usar sed para construir um script de shell e ter sh rodando:

$ ls -1 *jpg* | sed -e 's@\(.*\)\(\.jpg\.\)\(.*\)@mv  -.jpg@' | grep ^mv | sh 

Recomendamos enfaticamente que você verifique a saída antes do sh para se certificar de que realmente vai fazer a coisa certa.

    
por 06.05.2012 / 02:18
0

IFS=$'\n'; for f in 'find . -name '*.jpg.*''; do echo mv "$f" "'sed -E 's/(.*)\.jpg\.(.*)/-.jpg/' <<< "$f"'"; done

Outra versão que se aplica a arquivos em todas as subpastas e deve funcionar com nomes de arquivos com espaços.

    
por 06.05.2012 / 11:47
0

Esta é uma maneira fácil de lembrar de renomear vários arquivos no Terminal:

rename 's/\.jpg.1/\.jpg/' *.jpg.1

Basta colocar qualquer extensão após cada /\. e certifique-se de especificar os arquivos existentes no segundo argumento ( *.jpg.1 neste caso)

    
por 27.11.2017 / 17:17