shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Remover arquivos que não são imagens usando mimetype


From: Helton Moraes
Subject: Remover arquivos que não são imagens usando mimetype
Date: Mon, 26 Apr 2010 00:02:28 -0300

Caros colegas

Tenho pastas baixadas com o wget que contêm galerias de wallpapers mas junto
vêm documentos html, css, scripts, etc. Pretendo criar um script que remova
de dentro de uma pasta e seus subdiretórios todos os arquivos que não forem
JPEG.
Inicialmente usei um comando com expressão regular que pegasse o que não
terminava com .jpeg ou .jpg, mas como às vezes a extensão do arquivo vinha
com problema, ou nem vinha, eu ia lá na lixeira temporária que criei para o
script, e via arquivos com extensão deformada, mas que o Nautilus dizia
serem "imagens jpeg", e de fato eram.

Assim sendo, estou usando o comando 'mimetype', que mostra o formato MIME
dos arquivos, da seguinte forma:

$ mimetype -b `find ./ -type f` | sed /^$/d        # o sed é só pra tirar as
linhas em branco

O resultado é do tipo: (obs: aqui os arquivos não estão identificados, é só
pra dar idéia do tipo de saída do comando, cada linha é um arquivo
encontrado)

image/gif
image/jpeg
image/jpeg
image/jpeg
image/jpeg
image/jpeg
image/jpeg
image/jpeg
image/jpeg
application/x-php
application/x-trash
text/html
text/html
text/html
application/x-trash
application/x-trash
image/jpeg
image/jpeg
image/jpeg
image/jpeg

ENTÃO, a idéia seria usar a saída desse comando dentro de um laço: se a
condição é preenchida, move o arquivo, se não, nada acontece.
Outra possibilidade seria dar um mv em todos os arquivos de uma vez só,
depois de ter criado uma lista, mas acho que teria que usar loop de qq
jeito.

Imagino que isso seja meio banal, e que eu conseguiria resolver sozinho, mas
mantendo o costume de procurar boas práticas entre os colegas mais
experientes, pergunto:

Alguma sugestão de estratégia/comandos para utilizar?



Grato pela atenção

Helton moraes


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]