[Perl] linea de comandos...
Jose Antonio Galicia
jcgalici@cbbanorte.com.mx
Tue, 18 Jun 2002 12:15:22 -0500 (CDT)
On Tue, 18 Jun 2002, Gunnar Wolf wrote:
> > > > cat usuarios.txt | awk -F: {'print $1"\@midominio.com"'}
> > > cat usuarios.txt | perl -e 'while (<>) {chomp;print "$_\@midominio.=
com\n"}'
> > cat usuarios.txt | perl -ne 'split(/:/); print "$_[0]\@dominio.com\n"=
'
> Ummm... =BF?
Sucede que pasa a pasanor que esperamos que la realidad se
ajuste a nuesta experiencia y a veces no pasa eso :)
Revisa la l=EDnea original, al awk le esta cambiando el FS a
":" en lugar del "espacio" que siempre usa:
$ man gawk
....
OPTIONS
Gawk accepts the following options.
-F fs
--field-separator fs
Use fs for the input field separator (the value of the FS =
predefined variable).
por lo que seguramente necesita dividir la l=EDnea en
"campos" separados por ":" as=ED que habr=E1 que pasarlo por el
split. Y esta imprimiendo s=F3lo el primer campo, de ah=ED el
$_[0] en el print.
> No entiendo por qu=E9 divides la entrada con /:/ - No est=E1 leyendo de
> /etc/passwd, sino que de un archivo que tiene los nombres de usuario -
> hasta donde entiendo, claro...
Como dice Sandro: "el contexto, esto te da la
interpretaci=F3n correcta".
> Y es necesario darle el chomp - Es la diferencia entre
Ok, pero como asumo que son m=E1s de un campo ni me preocupa.
Saludos,
To=F1o
---
2180, U.S. History question:
What 20th Century U.S. President was almost impeached and what
office did he later hold?