Pular para o conteúdo

Utilizando find + exec e agilizando tarefas

Dica publicada em Linux / Introdução
Tiago Moreira Rodrigues tiagomr
Hits: 42.151 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

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.

Nenhuma dica encontrada.

Dual Boot Insigne Momentum + Windows 7

Utilizando fones bluetooth no Ubuntu 10.10

Instalando o K3b no Slackware 11

Tunning Postgres: Técnicas para otimização do banco

Um pouco sobre a distribuição Linux Metasys

#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

Entre na sua conta para comentar.