A ver si te sirve

IFS='
'
for PROCESO in `ps -e | grep bash | gawk -F " " '{pp=sprintf("%s
%s\n",$1,$4); print pp}' `
    do
         echo "----------"
         echo $PROCESO
   done


---------------------- Remitido por Federico Wiecko con fecha 11/06/2001
09.43 ---------------------------


anr <[EMAIL PROTECTED]> con fecha 08/06/2001 22.37.17

Por favor, responda a [EMAIL PROTECTED]

Destinatarios: [EMAIL PROTECTED]
CC:      (cci: Federico Wiecko)
Asunto: [LUG.ro] PROBLEMAS CON AWK




Me surgio un problema con un shell script
Ejm1)

ps -e | grep $1 | gawk '{print $4" "$1}'

lo anterior si por ejemplo le paso como parametro bash daria
como resultado un listado como el siguiente:

bash tty1
bash tty2
bash tty4

Ejm2)
lo que necesito es hacer un listado como el anterior con un for

for PROCESO in `ps -e | grep $1 | gawk '{print $4" "$1}' `
do
echo "----------"
echo $PROCESO
done

el resultado es:

----------
bash
----------
tty1
----------
bash
----------
tty2
----------
bash
----------
tty4



El for toma al $4 y al $2 de awk por separado.
Por lo que no me sirve

Ejm3)
probe modificar el valor de IFS


IFS="\n"
for PROCESO in `ps -e | grep $1 | gawk '{print $4" "$1"\n"}' `
    do
         echo "----------"
         echo $PROCESO
   done

y el resultado es:

----------
bash tty1

bash tty2

bash tty4


en este caso manda todo junto.

Si alguien me puede orientar le estaria muy agradecido
Lo que necesito es que $PROCESO vaya tomando
valores del tipo  "bash tty1" en cada iteracion.













Responder a