Grep tem sido amplamente usado em sistemas Linux ao trabalhar em alguns arquivos, pesquisar algum padrão específico e muito mais. Desta vez, estamos usando o comando grep para exibir as linhas antes e depois da palavra-chave combinada usada em algum arquivo específico. Para este propósito, usaremos as sinalizações “-A”, “-B” e “-C” ao longo de nosso guia tutorial. Então, você deve executar cada etapa para melhor compreensão. Certifique-se de ter o Ubuntu 20.04 sistema Linux instalado.
Em primeiro lugar, você deve abrir seu terminal de linha de comando do Linux para começar a trabalhar no grep. Você está atualmente no diretório Home do seu sistema Ubuntu logo após o terminal de linha de comando ter sido aberto. Portanto, tente listar todos os arquivos e pastas no diretório inicial do seu sistema Linux usando o comando ls abaixo, e você obterá todos. Você pode ver, nós temos alguns arquivos de texto e algumas pastas listadas nele.
ls
Exemplo 01: Usando '-A' e '-B'
A partir dos arquivos de texto mostrados acima, nós daremos uma olhada em alguns deles e tentaremos aplicar o comando grep neles. Vamos abrir o arquivo de texto “um.txt ”primeiro usando o popular comando“ cat ”abaixo:
$ cat um.TXT
Veremos primeiro algumas correspondências de palavras específicas neste arquivo de texto usando o comando grep como abaixo. Estamos pesquisando a palavra "nós" no arquivo de texto "um.txt ”usando a instrução grep. A saída mostra duas linhas do arquivo de texto contendo “nós”.
$ grep nós um.TXT
Então, neste exemplo, mostraremos as linhas antes e depois da palavra específica em alguns arquivos de texto. Então, usando o mesmo arquivo de texto “um.txt ”combinamos a palavra“ nós ”enquanto exibíamos as 3 linhas anteriores como abaixo. A bandeira “-B” significa “Antes”. O resultado mostra apenas 2 linhas antes da linha da palavra específica porque o arquivo não tem mais linhas antes da linha de uma palavra específica. Ele também mostra as linhas com aquela palavra específica presente nelas.
$ grep -B 3 nós um.TXT
Vamos usar a mesma palavra-chave “nós” deste arquivo para exibir as 3 linhas após a linha que contém a palavra “nós”. A bandeira “-A” apresenta “Depois”. A saída novamente mostra apenas 2 linhas porque não tem mais linhas no arquivo.
$ grep -A 3 nós um.TXT
Então, vamos usar uma nova palavra-chave para ser correspondida e exibir as linhas ou linhas antes e depois da linha em que ela se encontra. Então, temos usado a palavra "pode" para ser correspondido. Os números das linhas são os mesmos neste caso. As 3 linhas após a palavra correspondente “pode” foram exibidas abaixo usando o comando grep.
$ grep -A 3 pode um.TXT
Você pode ver o resultado mostrado antes das linhas de uma palavra correspondida usando a palavra-chave "pode". Em contraste, mostra apenas duas linhas antes da linha da palavra correspondida porque não há mais linhas antes dela.
$ grep -B 3 pode um.TXT
Exemplo 02: Usando '-A' e '-B'
Vamos pegar outro arquivo de texto, “dois.txt, ”do diretório inicial e exibir seu conteúdo usando o comando“ cat ”abaixo.
$ cat dois.TXT
Vamos exibir 5 linhas antes da palavra “Most” do arquivo “two.txt ”usando o comando grep. A saída mostra 5 linhas antes da linha conter uma palavra específica.
$ grep -B 5 Mais dois.TXT
O comando grep para mostra as 5 linhas após a palavra “Most” do arquivo de texto “two.txt ”foi dado abaixo.
$ grep -A 5 Mais dois.TXT
Vamos mudar a palavra-chave a ser pesquisada. Usaremos “de” como uma palavra-chave a ser correspondida desta vez. Exibe as 2 linhas antes da palavra “de” do arquivo de texto “dois.txt ”pode ser feito usando o comando grep abaixo. A saída mostra duas linhas para a palavra-chave "de" porque ela vem duas vezes no arquivo. Portanto, a saída contém mais de 2 linhas.
$ grep -B 2 de dois.TXT
Agora exibindo as 2 linhas do arquivo “dois.txt ”após a linha que contém a palavra-chave“ de ”pode ser feito usando o comando abaixo. A saída novamente exibe mais de 2 linhas.
$ grep -A 2 de dois.TXT
Exemplo 03: Usando '-C'
Outro sinalizador, “-C” foi usado para exibir as linhas antes e depois da palavra correspondida. Vamos mostrar o conteúdo do arquivo “um.txt ”usando o comando cat.
$ cat um.TXT
Escolhemos “sociedade” como palavra-chave a ser correspondida. O comando grep abaixo irá mostrar as 2 linhas antes e 2 linhas depois da linha que contém a palavra “sociedade” nela. O resultado mostra uma linha antes da linha da palavra específica e 2 linhas depois dela.
$ grep -C 2 sociedade um.TXT
Vamos ver o conteúdo do arquivo “dois.txt ”usando o comando cat abaixo.
$ cat dois.TXT
Nesta ilustração, estamos usando "poemas" como uma palavra-chave para corresponder. Então, execute o comando abaixo para este. A saída mostra duas linhas antes e duas linhas depois da palavra correspondida.
$ grep -C 2 poemas dois.TXT
Vamos usar mais uma palavra-chave do arquivo “dois.txt ”para ser combinado. Estamos consumindo "natureza" como palavra-chave neste momento. Então, tente o comando abaixo enquanto usa “-C” como um sinalizador tendo a palavra-chave “natureza” do arquivo “dois.TXT". Desta vez, a saída tem mais de duas linhas na saída. Como o arquivo contém a palavra "natureza" mais de uma vez, essa é a razão por trás disso. A palavra-chave “natureza”, que vem primeiro, tem duas linhas antes e duas linhas depois dela. Enquanto a segunda corresponde à mesma palavra-chave, “natureza” tem duas linhas antes dela, mas não há linhas depois porque está na última linha do arquivo.
$ grep -C 2 poemas dois.TXT
Conclusão
Conseguimos mostrar as linhas antes e depois da palavra específica ao usar a instrução grep.