Menu Principal

quarta-feira, 5 de outubro de 2011

Comando "grep"

Fonte: http://softwarelivre-ac.org/areas/artigos/27-shell-script/23-definicao-e-uso-dos-comandos-egrep-e-grep.html
Exemplos:
1# grep mozilla teste1.txt
Irá mostrar todas as linhas que contenha a palavra mozilla do arquivo teste1.txt
1# grep -n mozilla teste1.txt
Irá mostrar todas as linhas que contenha a palavra mozilla do arquivo teste1.txt, numerando-as.
1# grep -n mozilla teste1.txt > teste5
Irá colocar as linhas, numeradas, que contenha a palavra mozilla do arquivo teste1.txt no novo arquivo criad, o teste5.
1# grep kazenin /etc/passwd
Irá procurar, e caso ache, listar a linha onde contém a palavra kazenin no arquivo /etc/passwd.
1# grep ^k /etc/passwd
Irá listar a linha que contenha qualquer palavra iniciada com a letra k no arquivo especificado.
Nota: o caracter "^" significa começo de linha e o "$" significa fim da linha.
1$ grep T$ /etc/firewall.sh
Irá listar todas as linhas que tenham alguma palavra que termina com T do arquivo especificado.
1$ grep T$ /etc/firewall.sh > /home/teste9
Irá listar todas as linhas que tenham alguma palavra que termina com T do arquivo especificado e colocá-las no arquivo /home/teste9
1$ grep -c T$ /etc/firewall.sh
Irá listar, mas não mostrar, todas as linhas que tenham alguma palavra que termina com T do arquivo especificado e retornar a quantidade todal de linhas achadas, por exemplo, 24.
1# grep -v echo /home/verlogs1.sh
Irá listar todas as linhas que não (-v) tenham a palavra echo, do arquivo especificado.
1# grep -v ^# /home/verlogs1.sh
Irá listar todas as linhas que não (-v) comecem (^) com o caracter # do arquivo especificado.
1# grep -v ^# /home/verlogs1.sh > teste14
Irá listar todas as linhas que não comecem com o caracter #, do arquivo especificado e colocando-as no arquivo teste14.
1# grep -v ^# /etc/apache/config.conf | sed -e '/^$/d'
Irá listar todas as linhas que não comecem com o caracter # e as mesmas serão direcionadas (o pipe) para o comando sed que neste caso não irá exibir as linhas em branco.
Alguns Operadores úteis:
Use o [] para casar algum caracter, ou faixa, de uma lista:
"[Ee]sta" é o mesmo para as linhas contendo "Esta" ou "esta"
"[^Ee]sta" é o mesmo para as linhas contendo "Esta" ou "esta"
[0-5] é o mesmo para as linhas contendo [012345]
[a-d] é o mesmo para as linhas contendo [abcd]
[A-D] é o mesmo para as linhas contendo [ABCD]
[[:alpha:]] é o mesmo para as linhas contendo [a-zA-Z]
[[:upper:]] é o mesmo para as linhas contendo [A-Z]
[[:lower:]] é o mesmo para as linhas contendo [a-z]
1# grep "debian\|ubuntu" teste
Mostra linhas contendo "debian" ou "ubuntu" do arquivo teste
1# grep "Eu gosto da distribuição \(debian\|ubuntu\)" teste
Mostra linhas contendo "Eu gosto da distribuição "debian" ou "Eu gosto da distribuição ubuntu" do arquivo teste

Nenhum comentário:

Postar um comentário