Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
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-freewget http://www.seznam.cz 2>&1|tee /dev/stderr|grep saved
Ale fakt jsem nečekal, že mi poradíš zrovna ty...
Ted jěště musím sesmolit ten sed, co mi z 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
(Nebo už konečně začal dělat na tom Informixu...
)
-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-freedeb 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
nejsem lamka
Ahoj všem a užijte si sluníčka!
deb http://ftp.cz.debian.org/debian jessie main contrib non-freewget -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éž jakow = [(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: