[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Como sinalizo que um parametor, lido pela entrada
From: |
Alan Diones |
Subject: |
Re: [shell-script] Re: Como sinalizo que um parametor, lido pela entrada padrão, terminou? |
Date: |
Tue, 18 Dec 2007 08:43:45 -0200 |
amigos, evitem utilizarem "|" pipe, o exemplo abaixo poderia ter
resolvido assim:
grep "linha 2" < texto.txt
o shell trabalha melhor assim.
Alan Diones
Em Ter, 2007-12-18 às 00:04 -0200, Arthur Renato Mello escreveu:
> Andre,
>
> "se [caminho do texto o qual será pesquisado] não for especificado,
> lê da entrada padrão", nao quer dizer que o grep espera o caminho do
> arquivo na entrada padrao, mas sim o texto propriamente dito.
>
> No exemplo:
>
> $ cat texto.txt
> linha 1
> linha 2
> linha 3
>
> Se passarmos o caminho do arquivo no grep:
>
> $ grep "linha 2" texto.txt
> linha 2
>
> Caso eu nao passe o caminho do arquivo, o grep ficara esperando que eu
> insira o texto na entrada padrao. Para encerrar a entrada eu uso
> Ctrl-D:
>
> $ grep "linha 2"
> texto.txt
> *Ctrl-D* (Nao o texto mas sim as teclas Ctrl + D :)
>
> Porem nesse caso o grep nao encontra nada, pois em "texto.txt" nao
> existe o padrao "linha 2".
>
> Mas nesse caso:
>
> grep "linha 2"
> linha 1
> linha 2
> linha 2
> linha 3
> *Ctrl-D*
>
> Eu digitei "linha 1" o que nao casa com o padrao, o grep nao faz nada.
> Porem, quando eu digito "linha 2", que casa com o padrao, e teclo
> Enter o grep automaticamente repete a linha.
>
> O uso do grep com textos da entrada padrao eh muito util para
> redirecionamentos.
> Como nesse caso INUTIL mas que exemplifica bem :)
>
> $ cat texto.txt | grep "linha 2"
> linha 2
>
> Espero ter sido claro. E se cometi algum erro o pessoal da lista
> podera corrigir :D
>
> []s
> Arthur
>
> On Dec 17, 2007 10:35 PM, andre.andrade1 <address@hidden>
> wrote:
> >
> >
> >
> >
> >
> >
> > Me desculpem, pessoal, eu fui pouco claro.
> > A minha duvida, na realidade, refere-se a um comentário do livro do
> > julio neves(programação shell linux), 6 edição, pagina 24.
> > Ele fala mais ou menos isso:
> > A sintaxe do comando grep é: grep [-opçoes] [texto a ser procurado]
> > [caminho do texto o qual sera pesquisado]
> > e, está escrito mais ou menos isso: "se [caminho do texto o qual
> será
> > pesquisado] não for especificado, lê da entrada padrão".
> > Pelo que entendi, se eu der um "$grep -i palavra" e não especificar
> o
> > arquivo alvo do grep, o shell espera que eu coloque o caminho do
> > arquivo na stdin. Ao colocar o endereço do arquivo na stdin, como eu
> > sinalizo ao shell que eu já terminei de colocar o caminho para que o
> > grep seja executado?
> >
> >
>
>
>
>
- Re: [shell-script] Como sinalizo que um parametor, lido pela entrada padrão, terminou?, mop, 2007/12/14
- Re: [shell-script] Como sinalizo que um parametor, lido pela entrada padrão, terminou?, Flavio Junior, 2007/12/14
- Re: Como sinalizo que um parametor, lido pela entrada padrão, terminou?, andre.andrade1, 2007/12/17
- Re: [shell-script] Re: Como sinalizo que um parametor, lido pela entrada padrão, terminou?, Arthur Renato Mello, 2007/12/17
- Re: [shell-script] Re: Como sinalizo que um parametor, lido pela entrada padrão, terminou?,
Alan Diones <=
- Re: Como sinalizo que um parametor, lido pela entrada padrão, terminou?, andre.andrade1, 2007/12/18
- Re: [shell-script] Re: Como sinalizo que um parametor, lido pela entrada padrão, terminou?, Flavio Junior, 2007/12/18