On 6/14/07, Alejandro Facultad <[EMAIL PROTECTED]> wrote:
gente, los molesto porque mi conocimiento de shell scripting es muy
pobre y no encuentro la manera acertada de hacer lo siguiente: quiero
ejecutar un comando (digamos echo) para cada uno de los usuarios que
estan en cada linea de un archivo , por ejemplo:

archivo /etc/users:
pepe
jose
tato

y mi script:

#!/bin/bash
USER=$(/bin/cat /etc/users)
for i in $USER; do
/bin/echo Hola $USER
done

Al ejecutarlo me sale esto:

hola pepe jose tato
hola pepe jose tato
hola pepe jose tato


Que me esta faltando ???

Lo puedes hacer con Ruby:

ruby -ane 'system("id " + $F[0])' /etc/users

O con Perl:

perl -ane 'system("id " . $F[0])' /etc/users


Si quieres usar el /etc/passwd puedes poner "-F:" luego del perl/ruby
y poner el archivo directamente:

perl -F: -ane 'system("id " . $F[0])' /etc/passwd




--
Atentamente, yo <Matías>
Y sin fumar desde (casi) el '1089515700'
http://www.nnss.d7.be
Let one walk alone, commit no sin,
with few wishes, like an elephant in the forest
--
Para desuscribirte tenés que visitar la página
https://listas.linux.org.ar/mailman/listinfo/lugar-gral/

/* Publica y encontra trabajo relacionado con softlibre en 
http://www.usla.org.ar/modules/jobs/ */

Si tenés algún inconveniente o consulta escribí a mailto:[EMAIL PROTECTED]

Responder a