[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: comando sed
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Re: comando sed |
Date: |
Fri, 24 Aug 2007 10:08:21 -0300 |
tem varias formas. a mais comum é fazer um laço for
$ for i in `seq 10` ; do grep -H "palavra" dados_bloco$i ; done
é claro, um for pode ser paralelizado em um ou mais pipes usando xargs
$ seq 10 | xargs -i grep -H 'palavra' dados_bloco{}
porém, dessa forma vou executar o grep 10 vezes.
$ seq 10 | xargs -i echo dados_bloco{} | xargs grep 'palavra'
agora eu uso um grep só, pode ser imperceptivelmente mais rapido.
perceba que antes, como eu executava 10 grep's eu tinha q informar a
opção -H para que a string encotrada fosse precedida do nome do
arquivo.
se eu quisesse descobrir apenas o bloco ou arquivo que está a palavra,
eu poderia usar a opção -l -- o grep tem muitas opções de uma olhada
no man, da pra fazer chover!
agora, eu acho esta forma mais ... elegante
$ echo dados_bloco\{$(seq -s, 10)\}
dados_bloco{1,2,3,4,5,6,7,8,9,10} # sem problemas até aqui
$ eval echo dados_bloco\{$(seq -s, 10)\} # humm???
dados_bloco1 dados_bloco2 dados_bloco3 dados_bloco4 ... dados_bloco10
o eval realiza a expansão {A,B,C}, agora que la dentro tem uma
sequencia numérica que interessa.
se funciona com o echo do jeito que eu quero, mudamos para o grep
$ eval grep "palavra" dados_bloco\{$(seq -s, 10)\}
enfim, tem varias formas, basta escolher a mais adequada ao seu problema ;-)
On 8/24/07, voyeg3r <address@hidden> wrote:
>
> Use o grep com o parâmetro "n", para mostrar o número da linha
> em que o padrão foi encontrado
>
> grep -n "padrao buscado" /local/bloco[0-9][0-9]
>
> --- Em address@hidden, "dgotek" <dgotek@...> escreveu
> > > outra dúvida que eu tenho dp dos arquivos gerados dados_bloco_01
> > até dados_bloco_x, eu queria procurar uma determinada palavra, sem
> > ter que digitar nome de arquivo por arquivo.
> >
> > grep <localizar palavra> <do arquivo dados_bloco01 até o
> > dados_bloco_x;
--
Tiago B Peczenyj
Linux User #405772
http://peczenyj.blogspot.com/