Comandos essencias do Linux: "grep"

O filtro grep procura um padrão específico de caracteres num ficheiro e exibe todas as linhas que contêm esse padrão. Grep significa globally search for regular expression and print out. O padrão que é pesquisado no ficheiro é referido como expressão regular.
Neste tutorial vamos explicar com exemplos o uso do comando grep. Vejamos baixo.
 
Para este turotial estaremos a usar um ficheiro que contém os vencedores da liga dos campeões e o respectivo ano, desde  1956 ate 2025. Uma nota: está informação foi tirada da intenet e pode não ser verdadeira, com que então estamos só a usar para fins de estudos do comando grep, e não estamos a afirmar que tal Club ganhou a liga do campeões no tal ano.
 
Para começar vamos pesquisar no contéudo do ficheiro por uma cadeia de caracteres, sem distinção entre maiúsculas e minúsculas. E para este efeito usamos o comando grep com a opção -i. Vamos por semplo, pesquisar pelaa sequência de caracteres "Barcelona".

Desta vez com caracteres todos minúsculas.

Fazer pesquisa usando apenas uma parte da sequência de caracteres. Por exemplo, da palavra Barcelona, usar "Barc" ou "elona". Vejamos abaixo.
 

Por exemplo, "Manchester".
 
Podemos omitir a opção -i. Ao se omitir esta opção, o comando passa a destinguir maiúsculas e minúsculas. Vejamos abaixo.

Veja no exemplo acima, a primeira pesquisa não resulta em nenhuma saída, visto que a palavra "Bayer" é escrita com a primeira letra minúscula, e no ficheiro aparace sempre com a primeira letra maiúscula, com forme mostra a saída so segunso comando.
 
Podemos também usar o comando grep para exibir a contagem do número de correspondências de um pesquisa. Por exemplo vamos vrocurar pela sequência de caracteres "Real Madrid", para saber quantas vezes o club Real Madrid já ganhou a champions league. Para este efeito usamos a opção -c

E comando conta para 15, o número de vezes que o Real Madrid ganhou a competição.
 
Imprimir e mostrar a linha corresponde. Para esse efeito usamos a a opção -n.

Usando a opção -v, podemos imprimir todas linhas que não correspondem a sequência de caracteres especificada no comando.

Com a opção -E podemos especificar duas ou mais sequências de caracteres, separados pelo simbolo | . Neste exemplo, em vez de procurar pelo nomes dos Clubes, procuramos por anos aleatórios para saber quem ganhou a competição no tal ano.

As opções podem ser conjugadas. Por exemplo, no comando abaixo usamos a opção -E para especificar duas ou mais sequências de caracteres mais a opção -i para não destinguir maiúsculas e minúsculas. Vejamos abaixo.

Na maioria das vezes usamos o comando grep junto com o comando cat, este que primeiro imprime a saida de um ficheiro no terminal e por fim o comando grep usado para filtrar e apresentar apenas a sequência de caracteres especificada. Vejamos abaixo.
 

Comentários