Sintaxe
$ grep 'nome_do_arquivo padrão1 \ | padrão2'Uma expressão regular é sempre escrita entre aspas simples. Dois nomes são separados por barra invertida e operador de alteração. O comando termina com o nome do arquivo. Ao fazer grep recursivo, o diretório ou caminho inteiro é usado em vez de um único nome de arquivo.
Pré-requisito
Neste artigo, aprenderemos a funcionalidade do grep na pesquisa de vários padrões e strings. Para isso, você precisa ter o sistema operacional Linux rodando em sua caixa virtual. Você precisa instalá-lo em seu sistema. Após a configuração, você terá acesso para usar todos os aplicativos. Depois de fazer login para o usuário fornecendo uma senha, vá para a linha de comando do terminal para continuar.
Pesquisa por vários padrões em um arquivo usando Grep
Se quisermos pesquisar vários padrões ou strings em um arquivo específico, use a funcionalidade grep para classificar dentro de um arquivo com a ajuda de mais de uma palavra de entrada no comando. Usamos '\ |' operadores para a separação de dois padrões em um comando.
$ grep 'technical \ | job' filea.TXTO comando representa como funciona o grep. Ambos os arquivos mencionados serão pesquisados em um arquivo.TXT. As palavras pesquisadas são destacadas em todo o texto da saída.
Para pesquisar mais de duas palavras, continuaremos adicionando-as do mesmo método.
$ grep 'gráfico \ | photoshop \ | arquivo de pôsteres'.TXT
Pesquisar várias strings ignorando maiúsculas e minúsculas
Para entender o conceito de distinção entre maiúsculas e minúsculas na função grep no Linux, considere o seguinte exemplo. Dois comandos funcionam no grep. Um está com '-i' e o outro está sem. Este exemplo demonstra as diferenças entre os comandos. O primeiro mostra que duas palavras serão pesquisadas em um determinado arquivo. No entanto, conforme indicado no comando "Aqsa", começa com A maiúsculo. Assim, não será destacado porque, em um determinado arquivo, este texto está em minúsculas.
$ grep 'Aqsa \ | sister' file20.TXTEle irá considerar apenas a palavra irmã, que será vista na saída.
No segundo exemplo, ignoramos a diferenciação de maiúsculas e minúsculas usando o sinalizador “-I”. Esta função irá pesquisar ambas as palavras, e a saída será destacada. Quer a palavra 'Aqsa' esteja escrita em maiúsculas ou não, o grep irá procurar a mesma correspondência no texto dentro de um arquivo. Então, ambos os comandos são úteis em seus caminhos.
$ grep -I arquivo 'Aqsa \ | sister' 20.TXT
Contando várias correspondências em um arquivo
A função de contagem ajuda a contar a ocorrência de uma palavra ou palavras em um arquivo particular. Por exemplo, se você quiser saber sobre os erros que ocorrem no sistema. O detalhe é registrado no arquivo de logs. Para manter esta informação em uma pasta específica, você irá escrever o caminho das pastas. Este exemplo mostra que 71 erros ocorreram em arquivos de log.
Pesquisar correspondências exatas em um arquivo
Se você deseja encontrar uma correspondência exata nos arquivos do seu sistema, você precisa usar o sinalizador “-w” para classificá-lo com precisão. Citamos um exemplo simples e abrangente. No exemplo abaixo, considere pesquisar sem “-w”, este comando trará ambas as palavras como correspondidas com a entrada fornecida. Mas com o uso do sinalizador “-w”, a pesquisa será limitada, pois as palavras de entrada correspondem apenas à primeira string. A segunda palavra não é destacada porque "-w" permite uma correspondência precisa com o padrão.
$ -iw 'hamna \ | house' arquivo 21.TXTAqui -I também é usado para remover a diferenciação de maiúsculas e minúsculas na pesquisa de texto.
Como pode ser visto na foto, os resultados não são os mesmos. O primeiro comando traz todos os dados relacionados com strings inteiras, enquanto o segundo comando mostra como os dados exatos combinam através do grep na busca por múltiplas strings.
Grep para mais de um padrão em um tipo específico de extensão de arquivo
A pesquisa é feita em todos os arquivos. Depende de você se você pesquisar fornecendo o nome do arquivo Ele só pesquisará em arquivos específicos. Mas, ao fornecer uma extensão de arquivo, os dados serão pesquisados em todos os arquivos da mesma extensão. Existem dois exemplos diferentes para representar o resultado relacionado. Considerando o primeiro exemplo, os arquivos de erro serão contados em todos os arquivos do .extensão de log. “-C” é usado para contagem.
$ grep -c 'aviso \ | erro' / var / log / *.registro
Este comando implica que os arquivos serão pesquisados em todos os arquivos do .extensão de log. A contagem de correspondências será mostrada na saída para demonstrar melhor o grep com a extensão de arquivo específica.
No segundo exemplo, usamos duas palavras em nossos arquivos no Linux com a extensão do texto. Todos os dados serão mostrados na forma de números. 0 indica que não há dados correspondentes, enquanto diferente de 0 mostra que existe uma correspondência.
$ grep -c 'aqsa \ | my' / home / aqsayasin / *.TXT
Pesquisando Múltiplos Padrões Recursivamente em um Arquivo
Por padrão, o diretório atual é usado se não houver nenhum diretório mencionado no comando. Se você quiser pesquisar no diretório de sua escolha, você deve mencioná-lo. O operador “-r” é usado para grep recursivamente./ home / aqsayasin / mostra o caminho dos arquivos, enquanto *.txt mostra a extensão. Os arquivos de texto serão o alvo do grep para pesquisar recursivamente.
$ grep -R 'technical \ | free' / home / aqsayasin / *.TXT
A saída desejada é destacada no resultado mostrando a existência dessas palavras.
Conclusão
No artigo mencionado acima, citamos diferentes exemplos para tornar mais fácil para o usuário entender o funcionamento dos comandos para pesquisar vários padrões no Linux. Este guia irá ajudá-lo a aumentar seu conhecimento existente.