Pesquise strings ou padrões em texto simples do terminal

sobre pesquisa de strings ou padrões

No próximo artigo, veremos alguns ferramentas de linha de comando usadas para encontrar strings ou padrões correspondentes em arquivos de texto. Essas ferramentas são geralmente usadas em conjunto com expressões regulares, abreviadas como REGEX, que são strings exclusivas para descrever um padrão de pesquisa.

Expressões regulares são padrões usados ​​para encontrar uma certa combinação de caracteres em uma string de texto. As expressões regulares fornecem uma maneira muito flexível de pesquisar ou reconhecer strings de texto. Embora nas linhas a seguir não vejamos expressões regulares, usaremos padrões ou strings.

Procure strings ou padrões no terminal

comando grep

Grep é um acrônimo para Impressão de expressão regular global. Esta é uma ferramenta de linha de comando poderosa que é útil ao procurar uma string ou padrão específico em um arquivo. Com grep poderemos usar uma ampla gama de funções, como as que um colega nos explicou neste blog há pouco.

A sintaxe para usar o comando grep é muito simples:

grep PATRON [RUTA AL ARCHIVO]

Por exemplo, para pesquisar a string 'Ubuntu'em um arquivo que, neste exemplo, chamaremos text.txt, sem levar em conta a distinção entre maiúsculas e minúsculas, em um terminal (Ctrl + Alt + T) teremos apenas que executar o comando:

grep -i text

grep -i Ubuntu texto.txt

comando sed

Sede é a abreviatura de Editor de fluxo. É outra ferramenta útil para o terminal com a qual podemos manipular o texto em um arquivo. Sed pesquisa, filtra e substitui strings em um determinado arquivo.

O comando sed por padrão imprime a saída em STDOUT (Saída padrão). Isso significa que o resultado da execução é impresso no terminal em vez de ser salvo em um arquivo.

O comando Sed pode ser usado da seguinte maneira:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Por exemplo, para substituir todas as ocorrências de 'Linux'em um texto por'Linux', o comando a ser usado seria o seguinte:

comando sed

sed 's/Linux/GnuLinux/g' texto.txt

Se o que procuramos é redirecionar a saída para um arquivo em vez de imprimi-lo no terminal, vamos usar o sinal de redirecionamento da seguinte maneira:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

A saída do comando é salva no arquivo output.txt em vez de ser impresso na tela.

saída do comando sed

Para ver mais opções, você pode consulte as páginas de manual:

homem com sede

man sed

Confirmar

Ack é uma ferramenta de linha de comando rápida escrita em Perl. É considerado um substituto amigável para o utilitário grep, que também gera resultados de forma visualmente atrativa.

Pára instalar confirmação em nosso sistema teremos que executar no terminal (Ctrl + Alt + T):

instalar confirmação

sudo apt install ack

Comando Ack pesquisa o arquivo ou diretório para as linhas que contêm a correspondência para os critérios de pesquisa. Em seguida, destaque a string correspondente. Esta ferramenta tem a capacidade de distinguir arquivos com base em suas extensões.

A sintaxe do comando Ack seria algo como o seguinte

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Por exemplo, para pesquisar o termo Linux em um arquivo, teríamos que executar:

pesquisa de confirmação de comando

ack Linux texto.txt

A ferramenta de pesquisa é muito inteligente e se o usuário não fornecer nenhum arquivo ou diretório, ele pesquisa o diretório e os subdiretórios atuais para obter o padrão de pesquisa.

No exemplo a seguir, nenhum arquivo ou diretório é fornecido. O Ack detecta automaticamente o arquivo disponível no diretório e procura o padrão correspondente:

ack pesquisa sem arquivo

ack Linux

ripgrep

ripgrep é um utilitário de plataforma cruzada para pesquisar padrões de expressão regular. É mais rápido do que todas as ferramentas de pesquisa mencionadas acima e pesquisa diretórios recursivamente em busca de padrões correspondentes. Ele também permite que você pesquise por tipos de arquivo específicos. Por padrão, o ripgrep irá ignorar binários e arquivos / diretórios ocultos.

Pára instalar rip grep no sistema, tudo o que você precisa fazer é executar o seguinte comando no terminal (Ctrl + Alt + T):

instalação ripgrep

sudo apt install ripgrep

A sintaxe para usar o ripgrep é bastante direta:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Se quiséssemos procurar a cadeia 'Linux'em arquivos localizados no diretório atual, só teremos que executar o comando:

homem rg linux

rg Linux

Para ver mais opções, os usuários podem usar páginas man:

homem rg

man rg

Pesquisador Prata

Pára instale esta ferramentaNo Ubuntu, só teremos que abrir um terminal (Ctrl + Alt + T) e escrever o comando:

instalação silversearcher-ag

sudo apt install silversearcher-ag

Silver Searcher é uma ferramenta de pesquisa de código aberto e multiplataforma semelhante ao ack, mas com ênfase na velocidade. Facilita a localização de uma string específica nos arquivos no menor tempo possível. A sintaxe a ser usada seria:

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

Por exemplo, para pesquisar 'Linux'no arquivo text.txt, teríamos que escrever no terminal (Ctrl + Alt + T):

pesquisar com silversearcher

ag Linux texto.txt

Para ver mais opções, podemos consultar o páginas man:

homem silversearcher

man ag

Essas são apenas algumas das ferramentas de linha de comando mais comumente usadas para pesquisar, filtrar e manipular texto no Linux.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.