Utilizando find + exec e agilizando tarefas

Publicado por Tiago Moreira Rodrigues em 20/07/2008

[ Hits: 41.484 ]

Blog: http://tiagorodrigues.net

 


Utilizando find + exec e agilizando tarefas



Precisando automatizar algumas tarefas e com a necessidade de agilizá-las (remover, renomear, mudar permissão, entre outras) e ainda se tratando de muitos arquivos, podemos facilitar muito este trabalho utilizando apenas uma linha.

Aqui vou mostrar uma das tarefas mais simples que o find pode ajudar, ferramenta poderosa quando se sabe usar todas as suas opções. Fazendo-se buscas no Google pode-se achar muita coisa.

O problema

Remover JPGs.

Após copiar vários documentos e pastas, encontrei o problema: os arquivos jpg não poderiam estar dentro desta estrutura e haviam muitos espalhados por todos os lugares. Como já havia feito a cópia, não perderia tempo excluindo novamente os arquivos jpg.

A solução

Utilizar find + exec.

Nos sistemas Unix like, podemos encontrar muitas ferramentas que nos ajudam com pouco esforço. O grande lance é saber como usar cada uma delas.

O find é uma que nos ajuda em muitas coisas quando iniciamos nos sistemas Unix. Logo somos apresentados ao find como uma ferramenta de busca e, sempre que precisamos buscar algo, digitamos "find /caminho -name 'busca'", mas agora vamos falar do find não como uma ferramenta de busca, e sim produtividade.

Quando precisei remover todos os arquivos jpg fiz o seguinte:

$ find . -type f -name "*.jpg" -exec rm {} \;

Onde:
  • {} - arquivo encontrado;
  • \; - finaliza o comando.

Para todo arquivo jpg que encontrar, ele executará o comando rm para removê-lo.

Bom, isso resolveu meu problema, abaixo vou mostrar mais alguns comandos que podem ajudar.

Mudando as permissões somente dos diretórios:

$ find /home/* -type d -exec chmod 775 '{}' \;

Renomeando as extensões dos arquivo que estiverem em maiúsculas:

$ find . -name '.*' -prune -o -exec rename 's/\.jpg$/\.JPG/i' {} +

É isso ai, até a próxima.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Instalação do Debian sem mídia removível

Named Pipe (First in First out) FIFO

Pérolas do desconhecido, comandos não tão conhecidos que podem ser úteis

SnowLinux ao estilo MacOS X

Metasploit: atacando um objetivo final a partir de uma máquina já comprometida

  

Comentários
[1] Comentário enviado por Kerberus em 28/07/2008 - 13:00h

Parabens pelo post....Me ajudou mto...era o que eu estava precisando:D:D:D

[2] Comentário enviado por marcosfmo em 26/08/2015 - 22:23h

sempre muito bom utilizar esses comandos,

[3] Comentário enviado por cviniciussdias em 22/09/2016 - 17:23h

O \n seria necessário apenas se eu tivesse mais comandos seguindo este, não?

[4] Comentário enviado por fragaaaf em 08/04/2017 - 20:23h

Sempre encontro uma solução no "Viva o Linux". Obrigado!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts