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 <[EMAIL PROTECTED]> 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? > >
