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.