> ps -ef | grep 'sshd' | awk '{print $1}'
> 
> Y si por ejemplo hay 2 usuarios logueados en el sistema (usuario1 y usuario2),
> un "ps -ef | grep 'sshd'" saca lo siguiente:
> 
> root      1132     1  0 Jan13 ?        00:00:00 /usr/sbin/sshd
> root      1200  1132  0 Jan13 ?        00:00:00 sshd: usuario1 [priv]
> usuario1  1219  1200  0 Jan13 ?        00:00:00 sshd: [EMAIL PROTECTED]/59
> root      1608  1132  0 00:01 ?        00:00:00 sshd: usuario2 [priv]
> usuario2  1619  1608  0 00:01 ?        00:00:00 sshd: [EMAIL PROTECTED]/61
> usuario0       1643  1113  0 00:01 pts/57   00:00:00 grep sshd
> 
> y entonces, "ps -ef | grep 'sshd' | awk '{print $1}'" me da esto:
> 
> root
> root
> usuario1
> root
> usuario2
> usuario0
> 
> Pero yo s�lo quiero que me salgan usuario1 y usuario2, es decir, los que
> tienen una @ detr�s (son los �nicos que han accedido por SSH). El truco
> parece que estar en coger s�lo los que tengan la @, pero no s� c�mo.
> 
> Soy un poco principiante en estos scripts, aunque prometo adentrarme mucho m�s
> en ellos. �Alguna ayuda para corregir el c�digo?
> 
> Muchas gracias.

Buenas!

Creo que tu mismo sabes la solucion: no te valdr�a:  

ps -ef | grep 'sshd' |grep @| awk '{print $1}'

Claro que no es perfecto, para hacerlo bien necesitas el uso de expresiones
regulares, para estas cosas perl es perfecto pero con awk supongo que tambien
se puede hacer.

Chao!

Responder a