Exibindo linhas anteriores e posteriores à string pesquisada no Linux
O comando grep, tão conhecido dos usuários Linux, tem algumas opções bem interessantes, que talvez os mais novatos não conheçam.
Uma delas é a possibilidade de mostrar o que há antes e depois da string pesquisada.
Vamos considerar o arquivo teste.txt:
cat teste.txt
agua
cafe
leite
pao farinha acafrao
sal
salmao salada
Se quisermos procurar por leite, mas também quisermos saber as palavras que estão na linha anterior, basta utilizarmos o grep com o parâmetro -B (before) seguido do número de linhas que queremos exibir.
grep -B 1 leite ./teste.txt
cafe
leite
Da mesma forma existe o parâmetro -A (after) para exibir as linhas posteriores.
grep -A 2 agua ./teste.txt
agua
cafe
leite
Um outro parâmetro também muito útil é o -w, que procura pela ocorrência da palavra, e não apenas a sequência de letras.
Digamos que você, agora, queira ver se colocou sal na sua lista de compras. Normalmente você faria:
grep sal ./teste.txt
sal
salmao salada
Mas se você utilizar o -w...
grep -w sal ./teste.txt
sal
Em todos os exemplos acima é possível utilizar o parâmetro -n, que exibe o número da linha em que a ocorrência da palavra pesquisada aparece.
É isso aí, galera! Espero ter contribuído com o crescimento dos que estão chegando.
[1] Comentário enviado por wagnerluis1982 em 18/09/2008 - 09:21h
Outra dica legal principalmente para utilizar com linhas anteriores e posteriores ao mesmo tempo é adicionar o parâmetro --color para destacar o termo pesquisado.