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.