распарсить http запрос на баше

добрый день!
есть строка site.com/index.php?a=text1&b=test2&c=text3

Надо её распарсить переменные в виде:
$a=text1
$b=text2
$c=text3
желательно это сделать на баше…  

2 thoughts on “распарсить http запрос на баше

  1. Вячеслав Гаращук

    Сделай на php – он же есть на сервере судя по index.php  

  2. Для скачки музыки писал для этого скрипт, но было это давно и возможно многое можно сильно упростить.

    Первый (парсит):
    #!/bin/sh
    page=”…/index.php?option=com_content&task=view&id=1956&Itemid=1″
    curl_tmp=”/tmp/curl_tmp”
    out_file=”link.lst”
    parsing () grep -Po ‘/index.php?option=com_content&task=view&id=[0-9]+&Itemid=1’`
       parse=`grep -Po ‘/index.php?option=com_content&task=view&id=[0-9]+&Itemid=1’ $curl_tmp`

       for i in $parse; do echo “http://…$i” >> $out_file; done

    parsing
    while [ 1 ];
    do
       echo “Продолжить? (http://…$prev)”
       read -r e
       
       if [[ “$e” == “yes” || “$e” == “y” || “$e” == “unlimited” ]]
       then
           if [ “$e” == “unlimited” ];
           then
               while [ “$prev” != “” ];
               do
                   prev=`cat $curl_tmp | grep -Po ‘<a href=”/index.php?option=com_content&amp;task=view&amp;id=[0-9]+&amp;Itemid=1″>Предыдущий хит – парад можно скачать тут</a>’ | grep -Po ‘/index.php?option=com_content&amp;task=view&amp;id=[0-9]+&amp;Itemid=1’`
                   echo “$prev”;
                   parsing “http://…$prev”
                   sleep 5;
               done
               cat $curl_tmp | grep -Po ‘<a href=”/index.php?option=com_content&amp;task=view&amp;id=[0-9]+&amp;Itemid=1″>Предыдущий хит – парад можно скачать тут</a>’

           else
               parsing “http://…$prev”
           fi
       else
           exit 0
       fi
    done

    Второй (качает):
    #!/bin/sh
    list=”link.lst”
    for i in `cat $list`;
       do wget -q -c “`curl -s -L “$i” | grep -Po ‘http:.*.mp3’`”;
    done

Comments are closed.