Есть такая строка.
<div class="feedurl" style="word-wrap: break-word; width:550px;">http://trak.in/feed</div></td></tr><tr&... </td></tr>Какв bash скрипте извлечь из данной строки url?
>Есть такая строка.
><div class="feedurl" style="word-wrap: break-word; width:550px;">http://trak.in/feed</div></td></tr><tr&... </td></tr>
>
>Какв bash скрипте извлечь из данной строки url?Например, так
sed "s/<div [^>]*>\([^<]*\)<\/div>.*/\1/"
А вообще, лучше специальную библиотеку для xml использовать на перле или питоне.
>>Есть такая строка.
>><div class="feedurl" style="word-wrap: break-word; width:550px;">http://trak.in/feed</div></td></tr><tr&... </td></tr>
>>
>>Какв bash скрипте извлечь из данной строки url?
>
>Например, так
>sed "s/<div [^>]*>\([^<]*\)<\/div>.*/\1/"
>А вообще, лучше специальную библиотеку для xml использовать на перле или питоне.
>html != xml (вроде)
>>А вообще, лучше специальную библиотеку для xml использовать на перле или питоне.
>>
>
>html != xml (вроде)Для объектных библиотек !=, а для линейных почти что по барабану.
|egrep -io "<div [^>]*class=\"feedurl\"[^>]*>[^<]+</div>" |egrep -o ">[^<]+<" |egrep -o "[^<>]+"|awk 'match($0,"<div [^>]*class=\"feedurl\"[^>]*>([^<]+)</div>",aa){print aa[1]}'
XX="${IN#*>http://}"; XX="${XX%</div>*}"; OUT="http://$XX"
Как-то так...
>Есть такая строка.
><div class="feedurl" style="word-wrap: break-word; width:550px;">http://trak.in/feed</div></td></tr><tr&... </td></tr>
>
>Какв bash скрипте извлечь из данной строки url?А такое считается башем? :)
$ echo "<div class="feedurl" style="word-wrap: break-word; width:550px;">http://trak.in/feed</div></td></tr><tr&... </td></tr>" | php -r "echo trim(fgetss(STDIN));"
http://trak.in/feed
$ _
>А такое считается башем? :)
> | php -r "echo trim(fgetss(STDIN));"Мастер! :)))
> |sed 's/<[^>]\+>//g'
>>А такое считается башем? :)
>> | php -r "echo trim(fgetss(STDIN));"
>
>Мастер! :)))
>
>> |sed 's/<[^>]\+>//g'1. ... | cut -d '>' -f2,2 | cut -d '<' -f1
2. ... | lynx --stdin -dump
3. ... | urlview
4. ... | sed -e 's/<[^>]\+[^<]//g'
5. ... | awk 'BEGIN { FS = ">"; RS = "<" }; {print $2}'
perl -e '$a="<div class=\"feedurl\" style=\"word-wrap: break-word; width:550px;\">http://trak.in/feed</div></td></tr><tr&... </td></tr>"; @a=split("[><]",$a); foreach (@a) {print $_,"\n" if /http/;}'
> perl -e '$a="<div class=\"feedurl\" style=\"word-wrap: break-word; width:550px;\">http://trak.in/feed</div></td></tr><tr&...
> </td></tr>"; @a=split("[><]",$a); foreach (@a) {print $_,"\n" if /http/;}'или так:
| perl -le '$a = <>; $a =~ />(\S+)<\/div/; print $1'
>> perl -e '$a="<div class=\"feedurl\" style=\"word-wrap: break-word; width:550px;\">http://trak.in/feed</div></td></tr><tr&...
>> </td></tr>"; @a=split("[><]",$a); foreach (@a) {print $_,"\n" if /http/;}'
> или так:
> | perl -le '$a = <>; $a =~ />(\S+)<\/div/; print $1'я извлёк сами гиперссылки так:
| grep "http://" | sed 's/^.*http/http/g' | grep -o "http://[a-z\.]*"
>>> perl -e '$a="<div class=\"feedurl\" style=\"word-wrap: break-word; width:550px;\">http://trak.in/feed</div></td></tr><tr&...
>>> </td></tr>"; @a=split("[><]",$a); foreach (@a) {print $_,"\n" if /http/;}'
>> или так:
>> | perl -le '$a = <>; $a =~ />(\S+)<\/div/; print $1'
> я извлёк сами гиперссылки так:
> | grep "http://" | sed 's/^.*http/http/g' | grep -o "http://[a-z\.]*"даже так хватит:
| grep -o "http://[a-z\.]*"
чёт я ступил ))
наверное ещё и русские домены есть смысл искать, да и написаны они могут быть большими буквами, тогда:
| grep -o "http://[a-zA-Zа-яА-Я\.]*"