Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
alhaim
Piegowaty Guziec
Posty: 13 Rejestracja: 20 paź 2007, 13:55
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:
Post
autor: alhaim » 29 lip 2009, 19:28
Witam
Mam następujący problem -- ściągnąłem stronę z internetu na której były linki do innych stron (dokładniej do obrazków) chciałbym z danego źródła strony wyodrębnić link do owych obrazków. Umiem już ograniczyć plik do linii w której jest interesujący mnie link, ale nie wiem co mam dalej zrobić.
Przykład:
Kod: Zaznacz cały
<td style="background-color:white; text-align:center; vertical-align:middle;"><a href="/w/index.php?title=Plik:POL_Z%C5%82ot%C3%B3w_COA_1.svg&filetimestamp=20090514133220" class="image" title="Herb"><img alt="Herb" src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/59/POL_Z%C5%82ot%C3%B3w_COA_1.svg/100px-POL_Z%C5%82ot%C3%B3w_COA_1.svg.png" width="100" height="123" /></a></td>
Z tego chcę wziąć:
http://upload.wikimedia.org/wikipedia/c ... _1.svg.png
Dzięki za pomoc
kasjo
Serdeczny Borsuk
Posty: 175 Rejestracja: 31 paź 2007, 16:38
Płeć: Mężczyzna
Wersja Ubuntu: 11.10
Środowisko graficzne: KDE Plasma
Architektura: x86
Post
autor: kasjo » 29 lip 2009, 19:36
Jeżeli zawsze jest taka sama liczba cudzysłowów w linii to możesz wyciąć link za pomocą
Kod: Zaznacz cały
echo <td style="background-color:white; text-align:center;....|cut -f 12 -d \"
alhaim
Piegowaty Guziec
Posty: 13 Rejestracja: 20 paź 2007, 13:55
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:
Post
autor: alhaim » 30 lip 2009, 07:42
odpada -- nie mogę założyć takiej samej ilości cudzysłowów
thalcave
Przyjaciel
Posty: 821 Rejestracja: 08 lis 2006, 12:17
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Fluxbox
Architektura: x86
Post
autor: thalcave » 30 lip 2009, 10:43
Kod: Zaznacz cały
cat plik | sed s/" "/"\n"/g | grep ^src= | sed -r s/'src="(.*)"'/'\1'/g
Na podanej linii zadziałało. Założyłem, że adres, który chcesz wyciągnąć jest w "polu" zaczynającym się od src.
GNU/Linux user
Na pytania na PW/e-mail nie udzielam odpowiedzi!
Szanujmy innych użytkowników!
Wesprzyj akcje: Temat rozwiązany -> dodajemy [solved]
kasjo
Serdeczny Borsuk
Posty: 175 Rejestracja: 31 paź 2007, 16:38
Płeć: Mężczyzna
Wersja Ubuntu: 11.10
Środowisko graficzne: KDE Plasma
Architektura: x86
Post
autor: kasjo » 30 lip 2009, 20:42
Kod: Zaznacz cały
cat plik |awk 'BEGIN {FS="src"} ; {print $2}'|cut -f 2 -d \"
alhaim
Piegowaty Guziec
Posty: 13 Rejestracja: 20 paź 2007, 13:55
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:
Post
autor: alhaim » 31 lip 2009, 12:32
thalcave pisze: Kod: Zaznacz cały
cat plik | sed s/" "/"\n"/g | grep ^src= | sed -r s/'src="(.*)"'/'\1'/g
Na podanej linii zadziałało. Założyłem, że adres, który chcesz wyciągnąć jest w "polu" zaczynającym się od src.
Dzięki! Takie założenie chyba mogę poczynić
leon1313
Zakręcona Traszka
Posty: 668 Rejestracja: 02 sty 2006, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: KDE Plasma
Architektura: x86
Post
autor: leon1313 » 03 sie 2009, 21:17
Polecam też zastępczo PERL-a :
Kod: Zaznacz cały
cat plik | perl -lane '/.*src=\"([^\"]+)\".*/; print $1'
"Poza tym dostałeś PLONKa i zabraniam Ci pisać na te grupe!!! Powiedziałem PLONK i sie zamknij i nawet nie knuj rzeby mi odpisywać! Zabraniam!!!"
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 17 gości