[Rio-pm] (sem assunto)

Fernando Oliveira fernandocorrea em gmail.com
Qui Nov 10 15:21:24 PST 2016


Oi Aureliano!

o diamante (<>) pode resolver isso p/ vc.

se vc não passa um arquivo, ele le da stdin:

$ echo "bla" | perl -E 'say while <>'

bla


mas se vc passa um (ou mais) arquivo(s), ele o(s) le:

$ echo test > file$ perl -E 'say while <>' file

test


outras opções que facilitam ainda mais (vc não precisa nem usar o while) é
usar o -n e o -p...





Just another Perl Hacker,
Fernando (SmokeMachine)

Em 10 de novembro de 2016 20:43, Aureliano Guedes <guedes_1000 em hotmail.com>
escreveu:

> Ola monges,
>
>
> Tenho uma pergunta simples pra vocês.
>
>
> Eu tenho um script que abre um arquivo e printa o resultado na saida
> padrão.
>
>
> Os parâmetros adicionais são processados via Getopt::Long;
>
>
> Bom, o que eu queria era fazer algo mais Unix style.
>
>
> Quero poder receber o nome do arquivo para abrir ou poder redirecionar a
> saida padrão pro script caso esteja em um pipeline.
>
>
> Por exemplo, hoje, se eu der um grep em um arquivo pra depois passar pro
> script eu tenho que fazer:
>
> $ grep '<qualquercoisa>' arquivo >arquivo.tmp
>
> $ script.pl arquivo.tmp
>
>
> Eu quero poder fazer algo no estilo
>
> $ grep '<qualquercoisa>' arquivo | script.pl
>
>
> Como eu poderia fazer isso? lembrando que eu posso passar pro script mais
> parametros se precisar
>
>
> Abraços,
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20161110/0d36daa4/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm