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.

Como usar o comando find com expressões regulares

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 7 de março de 2023

O comando find é uma ferramenta muito poderosa do Linux para buscar arquivos e diretórios em um sistema de arquivos. Ele também oferece a possibilidade de utilizar expressões regulares para tornar as buscas ainda mais precisas. As expressões regulares são padrões de texto que nos permitem buscar por determinados caracteres, palavras ou padrões em um texto.

Para utilizar expressões regulares com o comando find, basta utilizar o parâmetro -regex seguido do padrão que deseja ser encontrado. Existem diversas formas de criar padrões de expressões regulares, mas abaixo estão alguns exemplos básicos:

1. Buscar por arquivos que comecem com a letra a:

$ find /caminho/para/o/diretorio -regex ".*/a.*"

2. Buscar por arquivos que terminem com a extensão .txt:

$ find /caminho/para/o/diretorio -regex ".*\.txt"

3. Buscar por arquivos que contenham a palavra exemplo no nome:

$ find /caminho/para/o/diretorio -regex ".*exemplo.*"

4. Buscar por arquivos que comecem com a letra a e terminem com a extensão .txt:

$ find /caminho/para/o/diretorio -regex ".*/a.*\.txt"

5. Buscar por arquivos que tenham extensão .txt ou .csv:

$ find /caminho/para/o/diretorio -regex ".*\.\(txt\|csv\)"

6. Buscar por arquivos que tenham um nome com três dígitos numéricos:

$ find /caminho/para/o/diretorio -regextype sed -regex ".*[0-9]\{3\}.*"

A opção regextype do find é utilizada para especificar o tipo de expressão regular que será usada para buscar um padrão em uma string. Existem vários tipos de expressões regulares, cada uma com sua própria sintaxe e funcionalidade.

A opção regextype aceita diferentes valores, dependendo do tipo de expressão regular que você deseja usar. Por exemplo, se você deseja usar a sintaxe de expressão regular POSIX, pode passar o valor posix para a opção regextype.

Alguns dos valores possíveis para a opção regextype incluem posix, perl, basic, extended e emacs. Cada um desses valores representa um tipo de sintaxe de expressão regular diferente.

Dependendo da sintaxe de expressão regular que você escolher, pode ser necessário adaptar o padrão de busca para que ele seja compatível com a sintaxe escolhida.

As expressões regulares são sensíveis a maiúsculas e minúsculas, então é importante usar a opção -iregex para realizar buscas ignorando a diferenciação de maiúsculas e minúsculas.

Uma última recomendação, tenha cuidado ao utilizar expressões regulares muito complexas, pois podem tornar o processo de busca muito lento e consumir muitos recursos do sistema. Sempre teste suas expressões regulares antes de utilizá-las em produção.

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