Grep - Procurando por conteúdo em arquivos

Publicado por Ragen Dazs em 14/09/2006

[ Hits: 45.343 ]

Blog: http://www.orkut.com

 


Grep - Procurando por conteúdo em arquivos



Olá pessoal,

Uma dica realmente muito simples, mas que pode nos ajudar bastante é o comando grep.

Muita gente até usa o grep para filtrar resultados de saída, como no exemplo abaixo:

$ ps aux | grep http
root      1716  0.0  0.8 105656  2188 ?     Ss Sep01 0:00 /usr/sbin/httpd -DSSL
nobody    1747  0.0  6.3 111256 16276 ?     S  Sep01 2:37 /usr/sbin/httpd -DSSL
nobody    1748  0.0  7.4 110792 19024 ?     S  Sep01 2:31 /usr/sbin/httpd -DSSL
nobody    1749  0.0  7.4 110424 19040 ?     S  Sep01 2:04 /usr/sbin/httpd -DSSL
nobody    1928  0.0  5.5 110448 14136 ?     S  Sep01 2:14 /usr/sbin/httpd -DSSL
nobody    1962  0.0  3.9 111480  9984 ?     S  Sep01 2:13 /usr/sbin/httpd -DSSL
nobody    1971  0.0  3.7 110432  9544 ?     S  Sep01 2:53 /usr/sbin/httpd -DSSL
nobody    1972  0.0  4.7 111512 12100 ?     S  Sep01 2:36 /usr/sbin/httpd -DSSL
nobody    1973  0.0  3.9 111304 10072 ?     S  Sep01 4:21 /usr/sbin/httpd -DSSL
nobody   21866  0.0  2.3 109232  6068 ?     S  Sep04 0:13 /usr/sbin/httpd -DSSL
nobody   23804  0.0  5.2 109088 13484 ?     S  Sep04 0:16 /usr/sbin/httpd -DSSL
root      3055  0.0  0.4   3392  1232 pts/0 R+ 08:12 0:00 grep http
Como visto, somente as linhas que continham a string "http" foram retornadas.

Buscando em arquivos


Supondo que procuramos agora por arquivos que contenham a string "http":

$ cd /etc/rc.d
$ grep http *


rc.0:if [ -x /etc/rc.d/rc.httpd ]; then
rc.0: /etc/rc.d/rc.httpd stop
rc.6:if [ -x /etc/rc.d/rc.httpd ]; then
rc.6: /etc/rc.d/rc.httpd stop
rc.K:if [ -x /etc/rc.d/rc.httpd ]; then
rc.K: /etc/rc.d/rc.httpd stop
rc.M:if [ -x /etc/rc.d/rc.httpd ]; then
rc.M: . /etc/rc.d/rc.httpd start
rc.inet2:# See the HOWTOs on http://www.netfilter.org/ for documentation on
rc.modules:# USB scanner support (requires patched SANE from http://fachschaft.cup.uni-muenchen.de/~neukum/scanner.html):
rc.modules:# for telnet and http, for instance. But, the system breaks down when you
rc.wireless.conf:# http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html

Além disso, o comando poderia conter a flag -R:

$ grep http * -R

(Para procurar recursivamente nos diretórios)

Espero que essa dica seja útil!

[]'s

Ragen

Outras dicas deste autor

Criando bibliotecas (shared library) *.so

Criando ícones de programas emulados pelo wine no desktop

Leitura recomendada

Colocando bordas em imagens em lote através de shell script

Instalador automático do Java JRE Oracle

Todos os logs com o multitail

Criando um simples script para desmontar e ejetar o CD-ROM

Como fazer um pendrive butável dar boot no VirtualBox

  

Comentários
[1] Comentário enviado por coffnix em 15/09/2006 - 14:00h

eu já conhecia esta dica, porém é muito bom sempre passar essa dica pra quem ainda tá começando.

eu ainda sugiro outra coisa:

$ man grep

té mais

[2] Comentário enviado por premoli em 29/10/2013 - 14:26h

Thank you grande mestre!!!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts