Portál AbcLinuxu, 23. dubna 2024 17:02


Dotaz: Ořezání řádku

19.11.2007 23:55 Cejvik | skóre: 5
Ořezání řádku
Přečteno: 415×
Odpovědět | Admin
Mám nasledující řádek: <a class="Link" href="http://neco.cz/film.avi">link</a> zakonceny linuxovym koncem. Potreboval bych odstranit vse mimo http...avi abych to mohl pustit do wgetu s -i, ale neprisel jsem na to. Najde se dobra duse? :-)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.11.2007 00:11 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Ořezání řádku
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed 's#.*href="\([^"]*\)".*#\1#'

PS: wget umí (parametr si nepamatuju) přímo číst linky z HTML stránky...

I am always ready to learn although I do not always like to be taught. (W. Churchill)
20.11.2007 00:22 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
Rozbalit Rozbalit vše Re: Ořezání řádku
A ještě koukám, že jsi byl rychlejší :-)
~ w w w w (oo)   [oo] w w w w ~
20.11.2007 00:16 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
Rozbalit Rozbalit vše Re: Ořezání řádku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Asi to nebude nejefektivnější řešení, ale co takhle?

echo '<a class="Link" href="http://neco.cz/film.avi">link</a>' | awk '{ print $3 }' | awk 'BEGIN { FS="\"" }{ print $2 }'

Takhle to vybere hodnotu druhého argumentu, takže pokud se může stát, že href nebude druhý, ale že se třeba prohodí s class, bude potřeba to ještě doladit.
~ w w w w (oo)   [oo] w w w w ~
20.11.2007 00:20 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
Rozbalit Rozbalit vše Re: Ořezání řádku
Sotva jsem to poslal, došlo mi elegantnější řešení:

echo '<a class="Link" href="http://neco.cz/film.avi">link</a>' | sed 's/.*href="//' | sed 's/".*//'

Tzn. odstranit všechno od začátku po href=". Z toho, co zbyde, pak odstranit všechno od první uvozovky do konce.
~ w w w w (oo)   [oo] w w w w ~
22.11.2007 15:14 Cejvik | skóre: 5
Rozbalit Rozbalit vše Re: Ořezání řádku
Dekuji moc, toto reseni mi prislo nejelegantnejsi a funguje dobre.
22.11.2007 15:30 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: Ořezání řádku
Podľa mňa je elegantnejšie použiť priamo ten link a wget povedať, že vstup je html súbor (parameter --force-html). ;)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.