2012-03-01 28 views

Respuesta

4

query_form devuelve un hash, cambiar su secuencia de comandos para:

perl -MURI -le 'chomp($url = <>); print +{URI->new($url)->query_form}->{offset}' 

Para procesar multip Le líneas:

perl -MURI -nle 'print +{URI->new($_)->query_form}->{offset}' 
+0

¿Cuál es la forma de imprimir 'offset' para cada línea desde la salida, ej. Tengo: echo "/mypath/index.php?offset=20&query=uro \ n/mypath2/index.php?offset=30&query=uro" – glaz666

+1

@ glaz666: simplemente agregue la opción '-n' a perl. Ver mi edición – Toto

1

se puede utilizar el módulo principal CGI:

perl -MCGI=param -e 'print param("offset")' "index.php?offset=20&query=uro" 
+0

por alguna extraña razón, no funciona con entrada por canal ... Es importante porque estoy extrayendo esa cadena – glaz666

+1

@ glaz666 'CGI' espera una consulta como argumento para el script. Puede usar 'echo '/mypath/index.php?offset=20&query=uro" | perl -MCGI = param -e '@ARGV = <>; print param ("offset") '' –

Cuestiones relacionadas