Grep tem sido amplamente utilizado em sistemas Linux ao trabalhar em alguns arquivos, pesquisando um padrão específico e muito mais. Desta vez, estamos usando o comando grep para exibir as linhas antes e depois da palavra -chave correspondente usada em algum arquivo específico. Para esse fim, usaremos a bandeira "-a", "-b" e, "-c" em todo o nosso guia de tutoriais. Então, você tem que executar cada etapa para uma melhor compreensão. Certifique -se de ter Ubuntu 20.04 Sistema Linux instalado.
Em primeiro lugar, você deve abrir seu terminal da linha de comando Linux para começar a trabalhar no Grep. Você está atualmente no diretório doméstico do seu sistema Ubuntu logo após a abertura do terminal da linha de comando. Então, tente listar todos os arquivos e pastas no diretório inicial do seu sistema Linux usando o comando LS abaixo, e você receberá tudo. Você pode ver, temos alguns arquivos de texto e algumas pastas listadas nele.
ls
Exemplo 01: Usando '-a' e '-b'
A partir dos arquivos de texto acima da mecha, 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“ gato ”como embaixo:
$ cat um.TXT
Primeiro, veremos algumas palavras específicas correspondem neste arquivo de texto usando o comando grep como abaixo. Estamos procurando 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 com "nós" nelas.
$ grep nós um.TXT
Então, neste exemplo, mostraremos as linhas antes e depois da palavra específica corresponder em alguns arquivos de texto. Então, usando o mesmo arquivo de texto “Um.txt ”, estamos combinando a palavra“ nós ”enquanto exibimos as 3 linhas antes dela como abaixo. A bandeira "-b" significa "antes". A saída mostra apenas 2 linhas antes da linha de palavras específicas, porque o arquivo não tem mais linhas antes da linha de uma palavra específica. Ele também mostra essas linhas tendo essa 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 tem a palavra "nós". A bandeira "-a" apresenta "depois". A saída novamente mostra apenas 2 linhas porque não possui mais linhas no arquivo.
$ grep -a 3 nós um.TXT
Então, vamos usar uma nova palavra -chave para ser combinada e exibir as linhas ou linhas antes e depois da linha em que está. Então, estamos usando a palavra "pode" ser combinada. Os números de linha são os mesmos neste caso. As 3 linhas após a palavra correspondente "lata" foram exibidas abaixo usando o comando grep.
$ grep -a 3 pode um.TXT
Você pode ver a saída exibida antes das linhas de uma palavra correspondente usando a palavra -chave "Can". Por outro lado, mostra apenas duas linhas antes da linha da palavra correspondente, 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 ”, no diretório doméstico e exibe seu conteúdo usando o comando" CAT "abaixo.
$ gato dois.TXT
Vamos exibir 5 linhas antes da palavra "a maioria" do arquivo "dois.txt ”usando o comando grep. A saída mostra 5 linhas antes que a linha contenha uma palavra específica.
$ grep -b 5 a maioria dos dois.TXT
O comando Grep para mostrar as 5 linhas após a palavra "a maioria" do arquivo de texto "dois.txt ”foi dado abaixo.
$ grep -a 5 a maioria dos dois.TXT
Vamos mudar a palavra -chave a ser pesquisada. Usaremos "de" como uma palavra -chave para ser comparado desta vez. Exibir 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 vem duas vezes no arquivo. Assim, a saída contém mais de 2 linhas.
$ grep -b 2 de dois.TXT
Agora exibindo as 2 linhas de arquivo “Dois.txt ”após a linha que contém a palavra -chave“ de ”pode ser feita usando o comando abaixo. A saída novamente exibe mais de 2 linhas.
$ grep -a 2 de dois.TXT
Exemplo 03: Usando '-C'
Outra bandeira, "-c" foi usada para exibir as linhas antes e depois da palavra correspondente. Vamos exibir o conteúdo do arquivo “um.txt ”usando o comando CAT.
$ cat um.TXT
Escolhemos “sociedade” como uma palavra -chave a ser combinada. O comando Grep abaixo exibirá as 2 linhas antes e 2 linhas após a linha que contém a palavra "sociedade" nela. A saída mostra uma linha antes da linha de palavras específica e 2 linhas depois dela.
$ grep -c 2 Society One.TXT
Vamos ver o conteúdo do arquivo “Dois.txt ”usando o comando abaixo do gato.
$ gato dois.TXT
Nesta ilustração, estamos usando "poemas" como uma palavra -chave para combinar. Então, execute o comando abaixo para este. A saída mostra duas linhas antes e duas linhas após a palavra correspondente.
$ grep -c 2 poemas dois.TXT
Vamos usar mais uma palavra -chave do arquivo “Dois.txt ”a ser comparado. Estamos consumindo "natureza" como palavra -chave desta vez. Então, tente o comando abaixo enquanto usa "-c" como uma bandeira com 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 dele. A palavra -chave "natureza", que vem em primeiro lugar, tem duas linhas antes e duas linhas depois dela. Enquanto o segundo correspondeu à mesma palavra -chave, "Nature" tem duas linhas antes dela, mas não há linhas depois dela, porque está na última linha do arquivo.
$ grep -c 2 poemas dois.TXT
Conclusão
Temos sucesso em exibir as linhas antes e depois da palavra específica ao usar a instrução Grep.