2012-03-01 13 views

risposta

4

query_form restituisce un hash, modificare lo script per:

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

Per elaborare più Le linee:

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

Qual è il modo di stampare "offset" per ogni riga dall'output, ad es. Ho: echo "/mypath/index.php?offset=20&query=uro \ n /mypath2/index.php?offset=30&query=uro" – glaz666

+1

@ glaz666: basta aggiungere l'opzione '-n' a perl. Vedi la mia modifica. – Toto

1

è possibile utilizzare il modulo di base CGI:

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

per una strana ragione che non funziona con l'input in pipe ... È importante mentre sto estraendo quella stringa lì – glaz666

+1

@ glaz666 'CGI' si aspetta una query come argomento per lo script. Puoi usare 'echo" /mypath/index.php?offset=20&query=uro "| perl -MCGI = param -e '@ARGV = <>; print param ("offset") '' –

Problemi correlati