De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Mais usos do comando find

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 02 de Setembro de 2003

Em sistemas *nix, uma ferramenta de enorme funcionalidade é o comando find.

O comando find aceita diversas diretivas que lhe instruem sobre o que pesquisar em um sistema de arquivos. Arquivos maiores que um tamanho pré-determinado, que tenham sido modificados ou acessados até determinada data, etc.

Vamos então ver uma forma pouco usada, mas que pode ter sua utilidade.

Eu criei em um diretório um arquivo estranho. Deu um trabalho para criar o arquivo, pois ele continha uma marca de tabulação em seu nome.

  $ ls
  a  ?a  b  c  d  e
  $ ls | cat -v
  a
          a
  b
  c
  d
  e

Bom, agora eu quero remover este arquivo. Existem várias maneiras de se fazer isto, mas eu quero demonstrar uma que use o recurso do comando find que eu quero demonstrar. Quem sabe um dia alguém ache um exemplo mais inteligente :-)

  $ ls -i
  3358935 a  3358929 ?a  3358930 b  3358931 c  3358932 d  3358933 e

O comando ls irá exibir os i-nodes (index nodes) dos arquivos que são informações. i-nodes são estruturas de dados que indicam ao sistema operacional a localização física dos arquivos.

De posse desta informação, eu posso fazer:

  find . -inum 3358929 -ok rm '{}' \; 

O parâmetro "-ok" é uma verificação de segurança para garantir que nada saia errado. Ele vai buscar o arquivo cujo i-node seja igual a 3358929 e removê-lo.

Caso eu tenha certeza absoluta do que estou fazendo uma alternativa é usar a diretiva "-exec", que executa o comando diretamente:

  find . -inum 3358929 -exec rm '{}' \; 

A Dicas-L já publicou mais algumas dicas sobre o comando find. Veja também:

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rubens Queiroz de Almeida