Adicionando Extensões em Arquivos

Publicado por Sandro Marcell em 14/05/2012

[ Hits: 10.058 ]

Blog: http://sanmarcell.wordpress.com

 


Adicionando Extensões em Arquivos



Para adicionar extensão aos arquivos que não as possue, use o comando: rename (ou prename, dependendo da distro) da seguinte forma:

rename 's/(.+)/$1\.EXTENSÃO/' DIRETÓRIO/*

Exemplo: Para adicionar a extensão '.jpg':

rename 's/(.+)/$1\.jpg/' /home/user/imagens/*

Obs.: Note que não há distinção dos tipos de arquivos, ou seja, todos os arquivos, ao final, terão '.jpg' como extensão, independente de serem ou não imagens!

Ah, se no diretório de destino existirem outros arquivos já com extensão, então, para adicionar a extensão desejada somente aos sem, use a dupla: find + rename

find DIRETÓRIO -type f \! -name "*.*" -print | rename 's/(.+)/$1\.EXTENSÃO/'

Mais detalhes? Salve seu dia, consulte as man pages:

man rename
$ man find


Falou! ;)

Outras dicas deste autor

zsh: Prompt colorido dinamicamente

Substituir espaços em branco por underlines em nome de arquivos

Removendo linhas duplicadas não-consecutivas

rm - remover vários arquivos excetuando alguns

Ordenando strings em shell script

Leitura recomendada

Suspendendo uma sessão do VIM

Fazendo mágicas com o watch

ZIP no GNU/Linux

Arrumar o relógio

Erro na compilação do LLVM no Gentoo [Resolvido]

  

Comentários
[1] Comentário enviado por removido em 14/05/2012 - 11:55h

#! /bin/bash

for n in $(ls | xargs)
do
mv $n $n\.$(file $n | cut -d" " -f 2)
done

esse aí eh o que eu fiz para o mesmo propósito. ele coloca a extensão de acordo com o tipo do arquivo.
não eh 100% tbm mas é um adianto!!!

to colocando aqui a fim de dar uma ideia pra fazermos algo mais próximo do ideal!



Contribuir com comentário