Utilizando find + exec e agilizando tarefas

Precisando automatizar algumas tarefas, e com a necessidade de agilizar tarefas como 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, esta é uma ferramenta poderosa quando se sabe usar todas as suas opções, dando uma googlada por ai pode-se achar muita coisa.

O problema: Remover JPG’s

Apos copiar varios documentos e pastas, encontrei o problema: os arquivos jpg’s não poderiam estar dentro desta estrutura e haviam muito espalhados por todos os lugares, como já havia feito a cópia, não perderia tempo fazendo-a novamente excluindo os arquivos jpg’s.

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, logo digitamos “find /caminho -name ‘busca'”, mas agora vamos falar do find nao como uma ferramenta de busca, e sim produtividade.

quando precisei remover todos os arquivos jpg’s fiz o seguinte:

find . -type f -name “*.jpg” -exec rm {} \;

{}=arquivo encontrado.

\; = finaliza o comando.

para todo arquivo jpg que encontrar, ele executará o comando rm para remove-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 maiusculas.

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

é Isso ai, até a próxima.

Dicas, Linux, Shell

Se você gostou do artigo, deixe um comentário ou inscreva-se no feed e receba os artigos em seu leitor de feed.

Deixe um comentário

(required)

(required)