shell-script-pt
[Top][All Lists]
Advanced

[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?
> >
> > 
> 
> 
> 
>  



reply via email to

[Prev in Thread] Current Thread [Next in Thread]