Como usar o comando FGREP para pesquisar strings no Linux

Como usar o comando FGREP para pesquisar strings no Linux

Brief: Neste guia para iniciantes, discutiremos alguns exemplos práticos do comando do FGREP. No final deste guia, os usuários poderão executar operações de pesquisa de texto com eficiência usando a interface da linha de comando.

A pesquisa de texto é uma das operações mais comumente realizadas. No entanto, essa tarefa simples se torna rapidamente demorada se os usuários não estiverem familiarizados com as ferramentas corretas. No Linux, existem vários utilitários de filtragem de texto, como awk, sed, corte, etc.

No entanto, no Linux, FGREP é a utilidade mais preferida para pesquisa simples de texto. Neste guia, vamos discutir alguns exemplos práticos do FGREP comando que pode ser usado na vida cotidiana.

O FGREP O comando em Linux se enquadra sob a família do comando Grep. No entanto, é usado para procurar o padrão de string fixo em vez de expressões regulares. Portanto, o nome do comando é FGREP (Grep fixo).

A sintaxe do FGREP O comando é semelhante aos outros comandos da família Grep:

$ fGREP [Opções] Padrões [arquivos] 

Para começar, vamos criar um arquivo de texto sem formatação com o seguinte conteúdo para usar um exemplo:

$ CAT Entrada.TXT 
Exibir o conteúdo do arquivo no Linux

Aqui, podemos ver que o arquivo de texto está pronto com o conteúdo da amostra. Agora vamos discutir alguns exemplos comuns do FGREP comando nos próximos exemplos.

1. Como o FGREP é diferente dos comandos Grep e Egrep?

Como o nome sugere, o FGREP O comando é usado para procurar os padrões de string fixa. Ele interpreta o padrão como uma corda fixa em vez de uma expressão regular. Portanto, ele executa a operação de pesquisa de uma maneira eficiente em termos de tempo.

Para entender a diferença, vamos usar um ponto (.) personagem com o comando grep.

Esta expressão regular simples corresponde a qualquer caractere, exceto no final da linha:

$ grep ha. entrada.TXT 
Procurando por um único personagem com grep

Na saída acima, podemos ver que o ponto (.) Personagem combinou com o texto har, chapéu, e tem.

Agora, vamos usar o mesmo padrão com o FGREP comandando e observe o resultado:

$ fGREP HA. entrada.TXT 

Na saída acima, podemos ver que o comando falha em encontrar o padrão fornecido.

Isso acontece porque o FGREP O comando não reconhece expressões regulares e tenta procurar o padrão inexistente - “Ha.”.

[Você também pode gostar: o que é a diferença entre Grep, Egrep e FGREP no Linux? ]

2. Como procurar um padrão em um arquivo

Vamos começar com o exemplo básico em que procuraremos um profissional de string em um entrada.TXT arquivo:

$ fGrep Professionals Entrada.TXT 
Pesquise o padrão no arquivo

Como podemos ver, a correspondência de padrões é bem -sucedida em dois lugares e é destacada na cor vermelha.

3. Como definir a cor de saída grep para padrões correspondentes

No exemplo anterior, vimos que, por padrão, o padrão correspondente é destacado na cor vermelha. No entanto, podemos alterar esse comportamento atribuindo um valor diferente ao Grep_color variáveis ​​ambientais.

Vamos atribuir o valor 32 para o Grep_color Variável de ambiente para destacar o padrão correspondente na cor verde:

$ export grep_color = 32 $ fGrep Professionals Entrada.TXT 
Defina a cor de saída grep para padrões de correspondência

Agora, antes de se mudar para o próximo exemplo, despertar o Grep_color Variável de ambiente para permitir o comportamento padrão:

$ unset grep_color 

4. Como procurar vários padrões em um arquivo

Às vezes, precisamos executar a correspondência de padrões para várias strings. Nesses casos, podemos fornecer os padrões do arquivo de texto em vez do argumento da linha de comando.

Vamos criar um arquivo de texto que contém vários padrões em uma linha separada:

$ CAT padrão.TXT site de profissionais 

Agora, vamos usar este arquivo com o -f Opção para correspondência de vários padrões:

$ fgrep -f padrão.entrada txt.TXT 
Procure vários padrões com FGREP

Na saída acima, podemos ver que a correspondência de padrões é bem -sucedida para as strings profissionais e local na rede Internet.

5. Como limitar o número de correspondências em um arquivo

Por padrão, o FGREP O comando continua a executar o padrão correspondente até que todo o arquivo seja processado.

No entanto, às vezes precisamos limitar o número de correspondências. Nesses casos, podemos usar o -m opção com o comando:

$ fGREP -M 1 Entrada de profissionais.Txt Tecmint foi iniciado em 15 de agosto de 2012 pela Technical profissionais e tudo 

Neste exemplo, o FGREP O comando interrompe o processamento do arquivo depois de corresponder ao primeiro padrão.

6. Como imprimir o nome do arquivo ao pesquisar o padrão

Às vezes, precisamos apenas encontrar o nome dos arquivos nos quais um padrão específico está presente. Nesses casos, podemos usar o -eu opção do FGREP comando:

$ fGrep -l Profissionais de entrada.TXT entrada.TXT 

Aqui, podemos ver que o comando apenas imprime o nome do arquivo em vez das linhas com os padrões correspondentes.

7. Como imprimir o nome do arquivo quando a correspondência de padrões falha

No exemplo anterior, vimos como imprimir o nome do arquivo quando a correspondência de padrões é bem -sucedida. Agora, vamos ver como executar a operação de uma maneira inversa.

Vamos tentar encontrar o padrão inexistente no arquivo e observar o resultado:

$ fGREP -L Entrada de palavras inexistente.TXT entrada.TXT 

Neste exemplo, usamos o -eu opção do comando que imprime o nome do arquivo quando a correspondência de padrões não é bem -sucedida.

8. Como suprimir mensagens de erro

O tratamento de erros desempenha um papel crucial ao escrever scripts de shell. No entanto, em alguns cenários não críticos, podemos ignorar com segurança as mensagens de erro.

Em FGREP, Podemos usar o -s Opção que suprime erros relacionados a arquivos inexistentes ou ilegíveis. Para entender esse comportamento de uma maneira melhor, vamos tentar procurar um padrão no arquivo inexistente:

$ fGREP -S Profissionais inexistentes.txt $ echo $? 2 

Na saída acima, podemos ver que o comando não exibe nenhum erro no fluxo de erro padrão. No entanto, a falha é relatada pelo valor de retorno diferente de zero.

Além disso, também podemos observar o mesmo comportamento quando o arquivo é ilegível. Então, primeiro, modifique a permissão do arquivo usando o chmod comando:

$ chmod 000 entrada.txt $ ls -l entrada.TXT 

Agora, tente procurar o padrão e observar o resultado:

$ fGREP -S Profissionais Entrada.txt $ echo $? 
Grep Ignore Mensagens de erro

9. Como excluir linhas parcialmente correspondentes

Nos exemplos anteriores, vimos que o FGREP O comando executa uma partida parcial. No entanto, em alguns casos, precisamos executar a correspondência exata para toda a linha. Nesses casos, podemos usar o -x opção do FGREP comando.

$ fGREP -NX "O mesmo site às vezes é difícil de encontrar." entrada.TXT 
Encontre a correspondência exata no arquivo

Na saída acima, a correspondência exata da linha acontece na linha número 20.

10. Como excluir arquivos enquanto pesquisava recursivamente

Às vezes, precisamos pular certos arquivos ao executar operações de pesquisa. Nesses casos, podemos usar o --excluir opção do FGREP comando.

Para entender isso, primeiro crie um diretório e copie alguns arquivos de amostra para ele:

$ mkdir dir-1 $ cp entrada.txt dir-1/entrada.txt $ cp entrada.txt dir-1/entrada.Dados $ CP Entrada.txt dir-1/entrada.MD 

Agora, vamos procurar o padrão em todos os arquivos do dir-1 diretório, exceto o ““.TXT" arquivos:

$ fGREP --r --exclude *.Profissionais txt dir-1 
Exclua arquivos durante o padrão de pesquisa

Na saída acima, podemos ver que a correspondência de padrões foi realizada nos arquivos com ““.md ” e ““.dados" extensões.

11. Como excluir vários tipos de arquivos enquanto pesquisava recursivamente

No exemplo anterior, vimos como excluir arquivos com extensões específicas. No entanto, o comando se torna demorado quando queremos excluir arquivos com várias extensões. Nesses casos, podemos fornecer o padrão de exclusão do arquivo, em vez do argumento da linha de comando:

Então, vamos criar um arquivo de texto que contém vários padrões de exclusão em uma linha separada:

$ gat pular padrão.TXT *.TXT *.dados 

Agora, vamos usar este arquivo com o --exclua-se opção:

$ fGREP -R --exclude-de salto de salto.Profissionais txt dir-1 
Exclua vários tipos de arquivos enquanto pesquisam o padrão

Aqui, podemos ver que a correspondência de padrões foi realizada nos arquivos com ““.md ” Apenas extensões.

12. Como incluir arquivos enquanto pesquisava recursivamente

Nos exemplos anteriores, vimos como excluir arquivos ao executar operações de pesquisa recursivamente. Agora, vamos ver como executar a operação de uma maneira inversa.

Vamos usar o --incluir opção do FGREP comando para executar uma pesquisa nos arquivos com o “*.TXT" extensão:

$ fGrep -r --include "*.TXT "Profissionais Dir-1 
Inclua arquivos durante o padrão de pesquisa

Na saída acima, podemos ver que a correspondência de padrões é ignorada para os arquivos com “*.md ” e “*.dados" extensões.

Neste artigo, discutimos alguns exemplos úteis do FGREP comando. Os iniciantes podem usar esses exemplos no dia-a-dia para melhorar a produtividade enquanto trabalham com o Linux.

Você conhece qualquer outro melhor exemplo do comando FGREP no Linux? Deixe -nos saber suas opiniões nos comentários abaixo.