abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
včera 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 3
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 7
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
20.1. 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
20.1. 00:08 | Pozvánky

V sobotu 18. 2. se v Praze v prostorách VŠE uskuteční od 9:30 již 4. ročník největší české konference o open source redakčním systému WordPress (WP) - WordCamp Praha 2017.

… více »
smíťa | Komentářů: 0
19.1. 23:58 | Komunita

Kryptoměnová komunita zahájila nový rok spuštěním projektu Blockchain.cz, jehož cílem je kolektivně nalézt ideální překlad pro čím dál frekventovanější slovo „blockchain“. Přispět návrhem může kdokoli. Sběr bude trvat až do konce září 2017. Následně bude probíhat dvoutýdenní veřejné hlasování, které bude zakončeno výběrem toho nejlepšího návrhu.

xHire | Komentářů: 10
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (11%)
Celkem 352 hlasů
 Komentářů: 25, poslední včera 13:34
    Rozcestník
    Reklama

    Dotaz: SED - Vypsání všech URL z textu obsaženého na vstupu

    31.5.2008 16:07 JirkaK | skóre: 15 | blog:
    SED - Vypsání všech URL z textu obsaženého na vstupu
    Přečteno: 508×
    Zdravím, mám následující problém: mám text (řekněme obsah webové stránky), ze kterého potřebuji získat všechny URL, které se v něm vyskytují. Zkoušel jsem to prohnat SEDem, ale nepodařilo se mi vytvořit žádný regulární výraz, který by vyhovoval (moje myšlenka byla taková, že vše, co nebude odpovídat např. http:\/\/*.php (zjednodušeně), substituuji za prázdný řetězec. Bohužel jsem ale nikde nepřišel na to, jak regulární výraz invertovat (něco jako [^abcde] - ovšem tak, aby nebyla specifikována jen množina jednotlivých znaků, ale celých řetězců - např. myšlenka (nefunkční) byla něco jako s/[^(http:\/\/*\/.php)]//g ). V oblasti regulárních výrazů a SEDu jsem poměrně nováčkem, tak se omlouvám, pokud na to jdu nějak extra hloupě :) Předem všem dík za nakopnutí.
    ** Počítač bez window$, to je jako ryba bez bicyklu... ** echo 'Kdo neskáče, není Čech!'|sed s/Čech/cvičená\ opice/

    Odpovědi

    31.5.2008 16:24 JirkaK | skóre: 15 | blog:
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    Ještě bych doplnil, že rozhodně netrvám na použití SEDu :) - klidně uvítám i jinou cestu, jak výše zmíněné zrealizovat.
    ** Počítač bez window$, to je jako ryba bez bicyklu... ** echo 'Kdo neskáče, není Čech!'|sed s/Čech/cvičená\ opice/
    31.5.2008 18:21 mafo
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    petr@fsc:/tmp$ cat ./227507 | grep http | sed -n 's/.*http/http/p'| sed -n 's/\(^.*"\).*/a\1/p'

    vyhraj si s tim :P mam zkouskove :D
    31.5.2008 18:36 JirkaK | skóre: 15 | blog:
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    Diky, snad se tim nejak prokousu :-) P. S. Taky mam zkouskove O:-)
    ** Počítač bez window$, to je jako ryba bez bicyklu... ** echo 'Kdo neskáče, není Čech!'|sed s/Čech/cvičená\ opice/
    31.5.2008 20:45 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    UUOC a UUOG pohromadě, no to koukam :) Jinak myslím že nějaký nástroj to přímo umí, nejspíš links či lynx bych myslel.

    Ve vimu používám pro zvýraznění a aktivaci odkazů výraz který by se dal použít v sedu asi takto:
    sed -n -e "s/.*\(http:\/\/[_a-zA-Z0-9\.\-]\+\/\{1\}[-_:~\&=\?\.%+a-zA-Z0-9\/]*\).*/\1/p" *.html
    31.5.2008 20:50 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    Koukám že by se tam ještě docela hodil středník, třeba pro & takže:
    sed -n -e "s/.*\(http:\/\/[_a-zA-Z0-9\.\-]\+\/\{1\}[-_:;~\&=\?\.%+a-zA-Z0-9\/]*\).*/\1/p" *.html
    31.5.2008 21:37 JirkaK | skóre: 15 | blog:
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    Diky moc ;-)
    ** Počítač bez window$, to je jako ryba bez bicyklu... ** echo 'Kdo neskáče, není Čech!'|sed s/Čech/cvičená\ opice/
    1.6.2008 00:51 gorin
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    Netuším, jaké jsou povolené znaky v URI, tak jsem se přidržel těch tvých. V regulárním výrazu předpokládáš povinně výskyt jednoho lomítka (navíc dost zvláštním zápisem \/\{1\}), což není správně - http://www.seznam.cz by ti to nenašlo.
    Abych nešaškoval se stream editorem, když není potřeba nic editovat, použil jsem raději grep a regulární výraz přepsal:
    egrep -o 'http://([[:alnum:]]|[_\.-])+(/([[:alnum:]]|[-_:;~&=?\.%+/])*)?' test.html
    1.6.2008 09:40 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    Jo to je pravda, už si nějak nevzpomínám proč tam mám to lomítko povinně, asi jsem tenkrát nevěděl jak napsat to tvoje (/([[:alnum:]]|[-_:;~&=?\.%+/])*)?, což je dobré, alespoň si to opravím, díky. Jinak se ale určitě jedná se o editaci textu, žádné šaškování (i když většina implementací grepu -o už několik let umí a tudíž se hodí).
    1.6.2008 11:41 JirkaK | skóre: 15 | blog:
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    Diky moc i za tyhle dalsi prispevky :) To s tim egrepem vypada taky zajimave... Jeste jednou dik.
    ** Počítač bez window$, to je jako ryba bez bicyklu... ** echo 'Kdo neskáče, není Čech!'|sed s/Čech/cvičená\ opice/
    1.6.2008 09:47 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    Aha, tak už to vím proč tam mám lomítko povinně, protože jsem se chtěl vyhnout tomu aby se jako url matchovalo třeba
    http://w
    což se v tom tvém případě děje.

    V případě tazatele je to celkem jedno, on předpokládá že v té html stránce budou víceméně jenom platná url, a já ve vimu nechci aby se mi http://www zobrazovalo jako url.
    1.6.2008 09:49 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    I když jsou jistě případy kdy to má smysl, pro lokální jména, takže místo neplatná jsem měl říct spíš lokální :)
    1.6.2008 09:51 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    V případě s povinným lomítkem jsem mohl třeba localhost matchnout právě tím, že se na konci přidám lomítko, byla to taková obezlička.
    1.6.2008 11:25 gorin
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    Tvé tvrzení má otvor. Tedy díru :).
    Vezmu-li například URI http://abclinuxu.cz, tak tvůj regulární výraz nevypíše nic, přitom jde o „platné url“. Bylo by odvážné předpokládat, že všechny odkazy v prohledávaném souboru musí nutně obsahovat lomítko.
    Takže ses sice vyhnul některým neplatným URI (http://www), ovšem jako bonus i platným. Osobně dávám přednost získání false-positives, která se dají vyeliminovat v dalším kroku nebo přepsáním RE, než abych měl od začátku chybný RE. Navíc, nebezpečí, že je v textu neúmyslně obsažen řetězec http:// následovaný slovem, které nepředstavuje URI, mi přijde malé.
    1.6.2008 18:57 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    Ono právě i http://www je platné url (lokální server), čili to lomítko jsem měl jako takovou obezličku, ale jinak jak říkáš -- že by v html stránce bylo http://neurl je nepravděpodobné.
    31.5.2008 22:52 mafo
    Rozbalit Rozbalit vše Re: SED - Vypsání všech URL z textu obsaženého na vstupu
    OK beru napsal jsem to za par minut a nejsem zadny shellodbornik, ale proste fungovat to funguje a da se z toho kodu neco priucit...

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.