Article image
Rafael Mota
Rafael Mota25/08/2022 21:10
Compartilhe

Curiosidade sobre o comando GREP

  • #Linux

Fala galerinha!

Hoje li uma curiosidade muito bacana sobre o comando grep do Linux. Para quem está fazendo o Bootcamp do Linux Experience já deve ter se deparado com esse comando. Eu particularmente gosto de saber o porquê de um determinado comando ser escrito como é.

Temos diversos exemplos nesse sentido, tais como:

mv (move)

rm (remove)

sudo (super user do)

ls (L i S t)

Porém, o comando grep sempre foi uma incógnita pra mim. Foi aí que hoje, enquanto lia a página 12 do livro Conceitos de Linguagem de Programação, de Robert Sebesta, encontrei o seguinte:

"Uma das principais reclamações em relação aos comandos de shell do UNIX (Rob-bins, 2005) é que sua aparência nem sempre sugere sua funcionalidade. Por exem-plo, o significado do comando UNIX grep pode ser decifrado apenas com conhe-cimento prévio, ou talvez com certa esperteza e familiaridade com o editor UNIX ed. A aparência do grep não tem conotação alguma para iniciantes no UNIX. (No ed, o comando /expressão_regular/ busca uma subcadeia correspondente à expressão regular. Preceder isso com g o faz ser um comando global, especificando que o escopo da busca é o arquivo inteiro que está sendo editado. Seguir o comando com p especifica que as linhas contendo a subcadeia correspondente devem ser impressas. Logo g/expressão_regular/p, que pode ser abreviado como grep, imprime todas as linhas de um arquivo que contenham subcadeias que correspondam à expressão regular.)"

Logo, o G vem de global, o RE vem de regular expression e o P vem de print. Agora você já sabe o significado de grep! 😉

Se curtiu, deixe seu voto positivo ou um comentário! 🙃

Compartilhe
Comentários (4)
Rafael Mota
Rafael Mota - 26/08/2022 13:06

Que bacana, Bruno! Não conhecia o comando! Show! Obrigado por colaborar conosco com mais essa dica.


Abraços! :D

Rafael Mota
Rafael Mota - 26/08/2022 13:05

Por nada, Ricardo! Contextualizar ajuda bastante mesmo! Todo recurso mnemônico auxilia na memorização e melhor compreensão dos comandos.


Um grande abraço!

BN

Breno Neves - 26/08/2022 10:45

Depois do grep outro comando interessante a estudar é o sed (Stream Editor) que pode pegar a saída de um comando ou um arquivo e editá-lo por meio de comandos ou expressões regulares.


echo aa | sed s/a/b/g

echo aa | sed s/a/b/

(neste exemplo o primeiro substitui todos [g] e o segundo substitui apenas o primeiro, mas o comando tem várias possibilidades)


Nessas horas lembro da história de outros comandos como fsck, o File System Consistency Check.

Ricardo Camacho
Ricardo Camacho - 25/08/2022 22:45

Muito bom, Rafael!

Realmente ajuda a contextualizar e até a aplicar melhor o comando.

Valeu pelo esclarecimento!