É possível multiplas pesquisas usando grep? [RESOLVIDO]

1. É possível multiplas pesquisas usando grep? [RESOLVIDO]

Vinicius Miqueloti
Miqueloti

(usa Lubuntu)

Enviado em 13/12/2011 - 16:36h

Olá pessoal,

Em meu trabalho eu preciso manipular uma quantidade de informação muito grande em arquivos de texto, pois meu trabalho tem relacionamento com bases de assinantes DSL. Então de vez enquanto eu preciso extrair algumas linhas de arquivos que contém vários gigabytes.

Para isto monto um arquivo da seguinte forma:

head -n1 [caminhodoarquivo]/arquivo.txt >> resultado.txt; //Retiro o cabeçalho do arquivo que contém informações importantes para se basearem

cat [caminhodoarquivo]/arquivo.txt | grep [primeiroItemDaBusca] >> resultado.txt; //Busco os registros existentes no arquivo dos quais preciso obter as linhas

cat [caminhodoarquivo]/arquivo.txt | grep [segundoItemDaBusca] >> resultado.txt;

cat [caminhodoarquivo]/arquivo.txt | grep [terceiroItemDaBusca] >> resultado.txt;

.
.
.

cat [caminhodoarquivo]/arquivo.txt | grep [enésimoItemDaBusca] >> resultado.txt;

Acontece que é um saco digitar este comando cat toda vez que preciso buscar mais de uma informação. Gostaria de saber se existe alguma forma de informar mais de um valor para o grep buscar ao mesmo tempo, algo tipo o exemplo suposto abaixo (que não funciona):

cat [caminhodoarquivo]/arquivo.txt | grep [primeiroItem segundoItem terceiroItem ... enésimoItem] >> resultado.txt;

OBS: Sei que poderia fazer um shell script que recebesse os itens da busca e escreveria diversas vezes este comando para mim, porém como forma de curiosidade e aprendizado gostaria de saber se posso fazer multiplas buscas com o grep de uma só vez.


  


2. MELHOR RESPOSTA

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 13/12/2011 - 18:51h


lsmod | grep -E "cdrom|ext|radeon"


ou


lsmod | egrep "cdrom|ext|radeon"


ou


lsmod | grep "cdrom\|ext\|radeon"



3. Re: É possível multiplas pesquisas usando grep? [RESOLVIDO]

Elder Marco
eldermarco

(usa Fedora)

Enviado em 13/12/2011 - 19:47h

Outra observação é que não é necessário dar esse cat não. O grep pode ler o conteúdo direto do arquivo:


$ grep 'padrão' arquivo.txt



4. Re: É possível multiplas pesquisas usando grep? [RESOLVIDO]

Vinicius Miqueloti
Miqueloti

(usa Lubuntu)

Enviado em 14/12/2011 - 09:54h

Obrigado pessoal, foi de muita ajuda descobrir a opção que permite múltiplas pesquisas e também o fato de não ser necessário utilizar o cat (o que tornou o tempo de processamento mais rápido).

Estou começando a fuçar mais a fundo no linux recentemente devido a necessidades de trabalho, e o forum além de outras fontes de consultas estão sendo essenciais. Cada vez mais estou ficando fã do shell, estou quase aprontando o script que vai reduzir o meu trabalho a quase 0 rsrs.

Obrigado a todos novamente!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts