Ve věku 91 let zemřel izraelský informatik Ja'akov Ziv, spolutvůrce bezztrátových kompresních algoritmů LZ77, LZ78 a LZW (Lempel–Ziv–Welch).
Byla představena nová Arduino deska Arduino UNO R4 s 32bitovým MCU RA4M1 (Arm Cortex-M4). Desku lze zatím získat pouze v rámci early access programu.
Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.
Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).
Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.
Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.
Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.
Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.
Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.
GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.
Ahojte, viete mi poradit ako by sa dal vyparsovat vsetok text zo zdrojoveho kodu html stranky, povedzme ze chcem vsetko text medzi tag-mi <pre> a konciacim jeho tagom </pre>
pricom tieto tagy sa niekolko krat opakuju a chcem vsetko text medzi nimi, vsetko ostatne nejako potrebujem dostat prec.
$ cat index.html |sed -n 's/<pre>\(.*\)<\/pre>/\1/p'
super! :) Len problem je v tom, ze mi to nezoberie do ohladu ked mam v zdrojovom kode blok s danym tagom, cize ak mi to nematchne na jedno riadku, tak to nevypise, neviem ako to osetrit? napr.
<pre>aaaaa bbbbbbbbbbbb cccccccccccc dddddddddddd ############ </pre>
Proste tagy byvaju rozne zalomene. Diky za echo :)
sed
vhodný nástroj, i když by k tomu asi nějak znásilnit šel.
Jedno z možných řešení je modul lxml pro Python, HTML soubor pošli na vstup následujícímu skriptu:
#! /usr/bin/env python # -*- coding: utf-8 -*- import sys from lxml import etree parser = etree.HTMLParser() tree = etree.parse(sys.stdin, parser) expr = "//*[local-name() = $name]" pre_elts = tree.xpath(expr, name="pre") for pre_elt in pre_elts: print pre_elt.text
Pokud používáš distribuci založenou na Debianu musíš mít nainstalovaný balíček python-lxml
.
my $text = join "", <STDIN>; my @vnitrky = $text =~ /<pre>(.*?)<\/pre>/sg; foreach (@vnitrky) { print $_; }
sed 's_</pre>_&\n_' SUBOR | sed -nr -e \ '/<pre>/{:a;s_</pre>_&_;tb;N;ba;:b;s_.*<pre>(.*)</pre>_\1_;p}'Najprv rozdelime, aby v kazdom riadku bol najviac jeden tag
pre
. A potom nacitame az po koncovy tag a zobrazime iba obsah ...
sed 's_</pre>_&\n_' SUBOR | sed -nr -e '/<pre>/,/<\/pre>/ { /.*<pre>/s___ /<\/pre>/s___ p }'
sed 's_</pre>_&\n_' SUBOR | sed -nr -e '/<pre>/,/<\/pre>/{ /.*<pre>/s___ /<\/pre>/s___ p }'
sed -n '/<pre>/,/<\/pre>/{s:.*<pre>::;s:</pre>.*::;p}'ale předpokládá se zde, že tag pre skutečně obsahuje nějaké bloky textu, takže se jich nevyskytuje více na jednom řádku.
Tiskni
Sdílej: