GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na
… více »Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.
Byl zveřejněn program konference Installfest 2026. Konference proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13. Vstup zdarma.
Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.
Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…
Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Ahojte vsichni.
Mam nekolik odkazu:
<a href="/dafuq/lol/1/">1</a>
<a href="/dafuq/lol/2/">2</a>
<a href="/dafuq/lol/3/">3</a>
<a href="/dafuq/lol/4/">...</a>
<a href="/dafuq/lol/8/">8</a>
<a href="/dafuq/lol/9/">9</a>
Potrebuju z nich dostat tu cislovku na konci odkazu (napr. <a href="/dafuq/lol/9/">9</a>) pomoci regularniho vyrazu. Jak to mam udelat? Regexy mi vubec, vubec nejdou. Predem diky za pomoc
Řešení dotazu:
Uz jsem to vyresil
<a href="/dafuq/[^/]*/([^/\"]*)/">[^<>/]*</a>
xmllint. Ta umí parsovat HTML o něco lépe.
for $x in doc("input.html")//a
return substring-before(substring-after($x/@href, 'lol/'), '/')
Možná to nevypadá tak elegantně jako regexp, ale poradí si to i s více odkazy na řádku, zalomenými atributy, komentáři...
lynx -dump -listonly -nonumbers http://abclinuxu.cz/Na vytáhnutí odkazů z HTML to je velice praktické. Pak už ty regulární výrazy lze použít snadno.
Na parsování HTML bych doporučil nástroje k tomu určené a ne regulární výrazy.
$ vim get_a_href.py
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from lxml.html import parse
if (len(sys.argv) != 2):
print "Usage: %s FILENAME or URL" % sys.argv[0]
sys.exit()
page = parse(sys.argv[1])
urls = page.xpath('//a/@href')
for url in urls:
print url
$ chmod +x get_a_href.py
<html> <a href="/dafuq/lol/1/">1</a> <a href="/dafuq/lol/2/">2</a> <a href="/dafuq/lol/3/">3</a> <a href="/dafuq/lol/4/">4</a> <a href="/dafuq/lol/5/">5</a> <a href="/dafuq/lol/6/">6</a> <a href="/dafuq/lol/7/">7</a> <a href="/dafuq/lol/8/">8</a> <a href="/dafuq/lol/9/">9</a> </html>Lze všechny URL získat takto:
xpath -q -e '//a/@href' soubor.xmlVýsledek:
href="/dafuq/lol/1/" href="/dafuq/lol/2/" href="/dafuq/lol/3/" href="/dafuq/lol/4/" href="/dafuq/lol/5/" href="/dafuq/lol/6/" href="/dafuq/lol/7/" href="/dafuq/lol/8/" href="/dafuq/lol/9/"
/dafuq/lol/1/ /dafuq/lol/2/ /dafuq/lol/3/ /dafuq/lol/4/ /dafuq/lol/8/ /dafuq/lol/9/nebo
1, 2, 3, 4, 8, 9jinak než sedem? Obvykle používám xsltproc, což je na některé drobnosti zbytečně těžký kalibr. Na jednodušší věci momentálně používám program xqilla, ale úplně mi nesedí.
xpath vyměnit volání metody toString za getNodeValue a případně dál upravit dle potřeby.
#!/usr/bin/perl -w
use XML::XPath;
$xpath = XML::XPath->new(ioref => \*STDIN);
my $names = $xpath->find('//a/@href');
for my $node ($names->get_nodelist) {
$_ = $node->getNodeValue;
s|^.*/([^/]*)/$|$1|;
print $_, "\n";
}
A to je celé. Volby jsou pryč, vstupem je STDIN. Dělá to jen to, co chce tazatel, ale přímo z HTML.
Tiskni
Sdílej: