Google
Web dns.bdat.net

Re: [PHP-ES] filtrar linea de salida de comando externo

Write haof XML files: emailtomyaddress-phpnews@yahoo.com
Fecha: lun 28 mar 2005 - 19:37:43 CEST


Yo estoy usando esto para encontrar un proceso que
esta ejecutandose bajo UNIX. Tal vez te sirva.

$output = shell_exec("ps -ef|grep nombreproceso|grep
-v grep|awk '{print $2}'")
echo "<pre>$output</pre>";
Saludos.
Javier.

--- Vladimir Hernández < interco@linuxbaja.org> wrote:
> On Fri, 25 Mar 2005 14:01:22 -0300, Roberto Pereyra
> wrote
> > Hola
> >
> > ¿ Qué funcion puedo usar para filtrar la salida de
> un comando, tal
> > que muestre la linea que contiene una cadena de
> caracteres que le
> > paso por un formulario ?
> >
> > El código es:
> >
> > <?php
> >
> >
> $trafico_mensual =
> > shell_exec('sudo /usr/local/sbin/bw-ipfm.pl -m ');
> > // envio
> correo de aviso de consulta
> >
> > mail
> ($_REQUEST['email'] ,
> > "Consulta Trafico Mensual", $trafico_mensual,
> "From: < Administrador
> > vivecom.com.ar> admin@vivecom.com.ar" );
> >
> > ?>
> >
> > La salida del comando que ejecuto con shell_exec()
> es:
> >
> > Monthly Bandwith Usage for March 2005
> > Hosts In Out Total
> > -----------------------------------------------
> > 10.1.7.114 1.55G 340.81M 1.89G
> > 10.1.4.178 736.12M 234.67M 970.80M
> > 10.1.7.147 398.56M 499.97M 898.53M
> > 10.1.4.202 582.39M 298.86M 881.25M
> > 10.1.4.142 499.68M 359.84M 859.52M
> > 10.1.4.106 348.35M 508.91M 857.27M
> > 10.1.4.199 664.06M 53.99M 718.05M
> >
> > Yo solo quiero enviar por correo por ej, solo la
> linea que contiene
> > la ip=10.1.7.147
> >
> > El valor de la ip se la paso por un formulario.
> >
> > Sería algo similar al comando grep de unix sobre
> la salida de
> > shell_exec().
> >
> > Gracias por cualquier ayuda que me puedan dar.
> >
> > roberto
> >
> > --
> > PHP Spanish Localization Talk Mailing List
> (http://www.php.net/)
> > To unsubscribe, visit:
> http://www.php.net/unsub.php
>
> Toma la salida del shell y pártela en cada fin de
> línea, poniéndola en un
> array con la función $arraydesalida=split() o
> preg_split(). Luego busca en
> cada elemento del array de salida que contenga el
> substring equivalente al IP
> que deseas (en tu ejemplo 10.1.7.147), y ya tienes
> tu línea correcta.
>
> Espero te sirva. Perdón por no codificarlo pero ando
> algo apurado. Saludos.
>
> --
> Vladimir Hernández
> Linux Baja California
> Grupo de usuarios de GNU/Linux
> http://linuxbaja.org
> Linux registered user # 374079
> counter.li.org
>
> --
> PHP Spanish Localization Talk Mailing List
> (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:24:09 CET