Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.
Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.
Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.
Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.
Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.
Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.
Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".
Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
wget www.seznam.cz --06:13:25-- http://www.seznam.cz/ => `index.html' Resolving www.seznam.cz... 194.228.32.3 Connecting to www.seznam.cz|194.228.32.3|:80... connected. HTTP požadavek odeslán, program čeká na odpověď ... 200 OK Délka: neudáno [text/html] [ <=> ] 31 595 --.--K/s 06:13:25 (5.98 MB/s) - `index.html' saved [31595]Potřebuji získat to index.html. Pokud bych tento výstup poslal rourou, např.
wget http://www.seznam.cz 2>&1|grep saved|sed -e 'blabla', tak sice získám název, ale přijdu tím o ostatní omáčku z wgetu. Potřeuji i tu omáčku i ten název... Dík za tip!
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
wget http://www.seznam.cz 2>&1|tee /dev/stderr|grep saved
07:00:11 (6.83 MB/s) - `index.html.31' saved [31612]
dá to index.html
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
$ echo "07:00:11 (6.83 MB/s) - \`index.html.31' saved [31612]" 07:00:11 (6.83 MB/s) - `index.html.31' saved [31612] $ echo "07:00:11 (6.83 MB/s) - \`index.html.31' saved [31612]" | \ sed -e "s:[[:print:]]*\`::" -e "s?' saved \[[[:digit:]]*\]??g" index.html.31
-O file
--output-document=file
wget $URL 2>&1 | tee /dev/stderr | grep saved | awk '{ print(substr($5, 2, length($5)-2)); }'Dík všem a hlavně Davidovi
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
file=$(wget $url 2>&1 | sed -n "2{h;s/.*\`\(.*\)'$/\1/p;g};w /dev/stderr")
wget http://seznam.czstáhne něco jiného než
wget http://seznam.cz/index.htmlAle přitom název souboru bude v obou případech 'index.html'. Takže buď ten název souboru známe (je součástí URL) nebo ho neznáme a pak je to index.html. Nebo jsou nějaké výjimky?
#!/usr/bin/env python import sys,os,urlparse,urllib2 conn = urllib2.urlopen(sys.argv[1]) realurl = conn.geturl() parsed = urlparse.urlsplit(realurl) url_path = parsed[2] # Here is the path filename = os.path.split(url_path)[1] if not filename: print 'No filename available, using "index.html"' filename = 'index.html' file(filename, 'w').write(conn.read())Jestliže se pokusím stáhnout
http://kf.fyz.fce.vutbr.cz/pub/bletak to název souboru nenajde a stáhne to do "index.html". Zatímco
http://kf.fyz.fce.vutbr.cz/pub/blaobsahuje konkrétní název souboru, ačkoli to z pouhé adresy nelze poznat. No a v tomto případě se použije název "bla". Zrovna tak to udělá i wget.
ahoj 2 slunce 3 moře 1 člověk 5 atd...
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
wget -q -O- ... | sed ... | ...Případně pokud by se jednalo o slušný web, mohl byste k vyčištění použít
xsltproc
.
#!/usr/bin/env python import os,sys,elementtree.ElementTree, urllib2 words = {} def add_to_words(text): for word in text.split(): try: words[word] += 1 except KeyError: words[word] = 1 def find_text(elem): text = elem.text if text: add_to_words(text) for e in elem: find_text(e) conn = urllib2.urlopen(sys.argv[1]) doc = elementtree.ElementTree.parse(conn).getroot() conn.close() find_text(doc) for k in words: print "%d: %s" %(words[k], k)Kéž by všechny stránky byly v XHTML strict...
chorchoj:14:22:02 ~$ wget -q abclinuxu.cz chorchoj:14:22:26 ~$ tidy -xml index.html line 18 column 1 - Error: unexpected </head> in <meta> line 56 column 98 - Error: unexpected </a> in <img> line 57 column 6 - Error: unexpected </div> in <img> line 77 column 1 - Error: unexpected </div> in <img> line 77 column 7 - Error: unexpected </div> in <img> line 96 column 25 - Error: unexpected </form> in <input> 0 warnings, 51 errors were found! Not all warnings/errors were shown. This document has errors that must be fixed before using HTML Tidy to generate a tidied up version. To learn more about HTML Tidy see http://tidy.sourceforge.net Please send bug reports to html-tidy@w3.org HTML and CSS specifications are available from http://www.w3.org/ Lobby your company to join W3C, see http://www.w3.org/ConsortiumZkoušel jsem i víc stránek - na každé je nějaký problém. Neznáte někdo nějaký jiný způsob, jak z HTML udělat well-formed XML?
#!/usr/bin/env python import os,sys,elementtree.ElementTree, urllib2 words = {} def find_text(elem): for word in elem.text.split(): words[word] = words.get(word, 0) + 1 for e in elem: find_text(e) url = 'http://www.w3schools.com/xml/plant_catalog.xml' conn = urllib2.urlopen(url) doc = elementtree.ElementTree.parse(conn).getroot() conn.close() find_text(doc) w = [(y,x) for x,y in words.items()] w.sort() for num, word in w: print "%d: %s" %(num, word)... ale jinak to trpí tím samým neduhem co předchozí verze.
w = [(y,x) for x,y in words.items()] w.sort() for num, word in w: print "%d: %s" %(num, word)jde v Python 2.4 nahradit
for word, num in sorted( words.iteritems(), key=lambda x: x[::-1], reverse=True ): print "%d: %s" %(num, word)Principiálně je to totéž jako
w = [(y,x) for x,y in words.iteritems()] w.sort() for num, word in w: print "%d: %s" %(num, word)Ale vypadá to víc perlish :) (jinak to použití
iteritems
místo items
by mělo ušetřit trochu paměti, ještě trošku paměti by mělo ušetřit
for word in sorted( words.iterkeys(), key=lambda x: (words[x], x), reverse=True ): print "%d: %s" %(words[word], word)ale tam už bude kulhat rychlost) Aneb správný perlista dokáže napsat perlový kód v jakémkoli jazyku
Pichi varuje: Tento příspěvek není kritika, jen má sloužit jako studijní materiál.
w = [(y,x) for x,y in words.iteritems()] del words #šetříme pamětí w.sort() for num, word in w: print "%d: %s" %(num, word)
lynx -dump www.abclinuxu.cz \ | sed -e 's/[^a-z0-9]\+/ /g' -e 's/[ \t]\+/\n/g' \ | sort \ | uniq -c \ | sort -n
Tiskni Sdílej: