Adicionando Extensões em Arquivos
Dica publicada em Linux / Comandos
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! ;)
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! ;)
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!