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 <[EMAIL PROTECTED]> 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 [email protected], "dgotek" <[EMAIL PROTECTED]> 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/

Responder a