шаблон после матча - PullRequest
       7

шаблон после матча

1 голос
/ 14 марта 2011
$string = "http://192.168.0.1/?url=http://www.google.com/?hl=";

как вернуть только

http://www.google.com/?hl=

с помощью команды linux

1 Ответ

3 голосов
/ 14 марта 2011

Если ваша тестовая строка действительно находится в переменной оболочки с именем string, тогда это так просто:

$ string="http://192.168.0.1/?url=http://www.google.com/?hl="
$ echo ${string#*=}
http://www.google.com/?hl=

Если вы действительно собираетесь использовать команду unix , тогда я бы предложил либо perl, либо sed. Преимущество Perl заключается в возможности использовать некожадный квалификатор.

С perl

$ echo "http://192.168.0.1/?url=http://www.google.com/?hl=" | perl -pe 's/.*?=//'
http://www.google.com/?hl=

С sed

$ echo "http://192.168.0.1/?url=http://www.google.com/?hl=" | sed 's/[^=]*=//'
http://www.google.com/?hl=
...