[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Comando grep
From: |
Eliphas Levy Theodoro |
Subject: |
Re: [shell-script] Comando grep |
Date: |
Fri, 24 Jun 2005 21:28:51 -0300 |
User-agent: |
Mozilla Thunderbird 1.0.2 (Windows/20050317) |
O comando
$ grep [bras]
vai fazer busca por qualquer um dos quatro caracteres, não um conjunto
definido, "bras" como você explicou.
Vai casar com "b", "r", "a", e "s" tendo ou não um dos outros caracteres.
Mais infos sobre isso em http://guia-er.sourceforge.net/guia-er-11.html
Para procurar por "bras" mesmo, e, mais especificamente, "tudo que
começa com bras", você usaria:
$ echo -e "embrasileirado\nbrasil\npau-brasil" | grep "\bbras"
brasil
pau-brasil
Ou seja, qualquer linha que tenha uma palavra que comece com "bras",
pois o grep vai respeitar o "\b", que pode ser traduzido como "borda da
palavra".
Voltando ao tópico, o comando:
$ ps -ef | grep mail
eliphas 31451 1 0 Jun23 ? 00:00:00 fetchmail
eliphas 11762 11727 0 16:49 pts/1 00:00:00 grep mail
Vai me retornar, às vezes, o próprio grep. Porque a linha do processo
grep também tem o que você quer. Então, podemos fazer duas coisas:
$ ps -ef | grep -v grep | grep mail
Que, vai tirar as ocorrências do grep, se houverem; ou podemos usar o
truque das próprias expressões regulares:
$ ps -ef | grep [m]ail
Que vai procurar pela mesma coisa que a anterior, "mail", pois dentro da
lista dos colchetes só existe um caractere. Porém, isso vai enganar o
grep, fazendo com que ele não "ache" ele mesmo, pois a linha de comando
que o "ps -ef" vai mostrar, vai conter os colchetes. Essa é a explicação
longa ':)
--
Eliphas
//dam escreveu:
1) ps -ef | grep [bras]
Resultante: tudo que começa com bras (brasil, brasileiro, brasa)
2) ... que o grep acima apareça no retorno
ps -ef | grep [bras] &>/dev/null
Resultante: a resposta não é vista em Terminal.
--- Em address@hidden, Rafael Quirino
<quirinobytes@y...> escreveu
ps -ef | grep [a]lguma coisa.
Nao sei oq os colchetes fazem, só sei q funciona.
Parece q é regex.
weberlf escreveu:
Gostaria de saber como posso executar o comando
ps -ef | grep 'alguma coisa'
sem que o grep acima apareça no retorno