Como usar o comando FGREP para pesquisar strings no Linux
- 710
- 139
- Ms. Travis Schumm
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.TXTExibir 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.TXTProcurando 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.TXTPesquise 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.TXTDefina 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.TXTProcure 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.TXTEncontre 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-1Exclua 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-1Exclua 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-1Inclua 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.