Intel vydal 41 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20240514 mikrokódů pro své procesory řešící INTEL-SA-01051, INTEL-SA-01052 a INTEL-SA-01036.
Společnost Raspberry Pi patřící nadaci Raspberry Pi chystá IPO a vstup na Londýnskou burzu.
Google na své vývojářské konferenci Google I/O 2024 představil řadu novinek. Keynote byl věnován umělé inteligenci (DeepMind, Gemini, Responsible AI).
V Gitu bylo nalezeno 5 zranitelností. Opraveny jsou ve verzích 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 a 2.39.4. Útočník může připravit repozitář tak, že při jeho klonování (git clone) může dojít ke spuštění libovolného kódu.
Virtualizační softwary VMware Workstation Pro a VMware Fusion Pro jsou nově pro osobní použití zdarma. Softwary VMware Workstation Player a VMware Fusion Player končí.
Linuxová distribuce Endless OS (Wikipedie) byla vydána ve verzi 6.0.0. Přehled novinek i s náhledy v příspěvku na blogu, poznámkách k vydání a také na YouTube.
Byl vydán Mozilla Firefox 126.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vylepšena byla funkce "Zkopírovat odkaz bez sledovacích prvků". Přidána byla podpora zstd (Zstandard). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 126 je již k dispozici také na Flathubu a Snapcraftu.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 11.0. Přehled novinek v aktualizované dokumentaci.
Byla vydána nová verze 24.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Wynsdey. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Byla představena oficiální rozšiřující deska Raspberry Pi M.2 HAT+ pro připojování M.2 periferii jako jsou NVMe disky a AI akcelerátory k Raspberry Pi 5. Cena je 12 dolarů.
Řešení dotazu:
WWW::Mechanize HTML::TreeBuilder Data::Dumper LWP::UserAgentPriklad:
#!/usr/bin/perl -w use strict; $| = 1; use LWP::UserAgent; use HTML::TreeBuilder; use Time::HiRes qw(gettimeofday tv_interval usleep sleep); use URI; use File::Path; use Data::Dumper; my $start_url = 'http://blog.hostname.sk'; my $regexp = 'MySQL'; my $ua = LWP::UserAgent->new; my $response = $ua->get($start_url); unless ($response->is_success) { warn $response->status_line; } #warn Dumper($response); my $tree = HTML::TreeBuilder->new_from_content($response->content); my $base = [ map { $_->attr('href'); } $tree->look_down( '_tag', 'base', sub { $_[0]->attr('href') ne '' } ) ]->[0]; $base ||= $start_url; my @raw_links = $tree->look_down( '_tag', 'a', sub { my $href = $_[0]->attr('href'); (defined($href) && $href =~ m/$regexp/i); } ); #print Dumper(\@raw_links); my @links = map { URI->new_abs( $_->attr('href'), $base)->as_string(); } @raw_links; $tree = $tree->delete(); print Dumper(\@links);Skript uvedeny vyssie najde na mojom blogu vsetky linky v suvislosti s MySQL ($regexp). Mozno potrebujes nieco podobne.
printf "1\n2\n3\n4\n5" | ltrace grep "1" 2>&1 | grep -c '^mbrtowc('by mělo hodit tak "2" (ujistěte se že máte ltrace), nebo jinak, zpracování delšího souboru by mělo trvat zhruba stejně dlouho s nastaveným
LANG=C
jako bez něj.cat
před sed
je jistě nesmysl (sed
umí číst ze souboru), grep
za sed
em je patrně také nesmysl (výstup sed
u lze libovolně přizpůsobit)
man mysql
) tak to bude rychlejší, než pouštět N x mysql
.
INSERT INTO `table` (`x`,`y`) VALUES ('x1','y1'), ('x2','y2'), … ('xN','yN');A odeslat do DB a třeba jako nový proces. PS: Nedělejte to pro všechno naráz, 500-1500 by mohlo vycházet nejlépe (záleží na tom jak je DB řádek velký).
Mám program v bashi který načítá data z http. Ty data uložim(wget > soubor) a následně je čtu(cat soubor) a dál separuju - takže cat neco |sed | grep | gawk | gawk | a následně to uložim do db ( | mysql -u user -p -D db) .Ukládání výsledku do souboru je zdržující. Je lepší ho rovnou nasměrovat rourou do filtrů. Je vcelku jedno, kolik jich je, hlavně je nutné se vyvarovat cyklů v bashi. Nejvíc zdržují smyčky ve smyčce, ty by se v bashi vůbec neměly vyskytovat. Je možné, že právě ty jsou největší brzdou. Úloha se dá pohodlně paralelizovat přidáním znaku & za volání bashové funkce. Ovšem v tomto případě bych omezil počet paralelních volání na nějakou rozumnou hodnotu (desítky až tisíce). Hodně zdržují inserty do MySQL po jednom záznamu. Jak už bylo zmíněno, je lepší ukládat např. 500 záznamů jako jednu transakci. Také bych možná zkusil jinou databázi, v tomto případě bych asi vybral Redis (pokud je to možné) a klidně ukládal po jednom záznamu. Je to velmi rychlé. Další proces může eventuálně (pokud to bude nutné) asynchronně záznamy vybírat a po skupinách sázet do MySQL.
root 11217 0.0 0.8 7544 840 pts/2 S 00:31 0:00 grep root 11218 0.0 0.8 9688 836 pts/2 S 00:31 0:00 sed root 11219 0.0 0.8 9688 864 pts/2 S 00:31 0:00 sed root 11220 0.0 0.9 10368 980 pts/2 S 00:31 0:00 gawk root 11221 0.0 2.5 33644 2524 pts/2 S 00:31 0:00 mysql root 11226 0.0 2.0 26644 2048 pts/2 S 00:31 0:00 wget root 11227 0.0 0.8 7544 840 pts/2 S 00:31 0:00 grep root 11228 0.0 0.8 9688 832 pts/2 S 00:31 0:00 sed root 11229 0.0 0.8 9688 860 pts/2 S 00:31 0:00 sed root 11230 0.0 0.9 10368 984 pts/2 S 00:31 0:00 gawk root 11231 0.0 2.5 33644 2520 pts/2 S 00:31 0:00 mysql root 11234 0.0 0.8 9688 836 pts/2 S 00:31 0:00 sed root 11235 0.0 0.8 9688 860 pts/2 S 00:31 0:00 sed root 11236 0.0 0.9 10368 980 pts/2 S 00:31 0:00 gawk root 11237 0.0 2.5 33644 2528 pts/2 S 00:31 0:00 mysql root 11238 0.0 2.0 26644 2048 pts/2 S 00:31 0:00 wget root 11239 0.0 0.8 7544 844 pts/2 S 00:31 0:00 grep root 11240 0.0 0.8 9688 832 pts/2 S 00:31 0:00 sed root 11241 0.0 0.8 9688 864 pts/2 S 00:31 0:00 sed root 11242 0.0 0.9 10368 984 pts/2 S 00:31 0:00 gawk root 11243 0.0 2.5 33644 2524 pts/2 S 00:31 0:00 mysql root 11244 0.0 2.0 26644 2044 pts/2 S 00:31 0:00 wget root 11245 0.0 0.8 7544 840 pts/2 S 00:31 0:00 grep root 11246 0.0 0.8 9688 832 pts/2 S 00:31 0:00 sed root 11247 0.0 0.8 9688 860 pts/2 S 00:31 0:00 sed root 11248 0.0 0.9 10368 980 pts/2 S 00:31 0:00 gawk root 11249 0.0 2.5 33644 2528 pts/2 S 00:31 0:00 mysql root 11250 0.0 2.0 26644 2044 pts/2 S 00:31 0:00 wget root 11251 0.0 0.8 7544 840 pts/2 S 00:31 0:00 grep root 11252 0.0 0.8 9688 832 pts/2 S 00:31 0:00 sed root 11253 0.0 0.8 9688 864 pts/2 S 00:31 0:00 sed root 11254 0.0 0.9 10368 980 pts/2 S 00:31 0:00 gawk root 11255 0.0 2.5 33644 2528 pts/2 S 00:31 0:00 mysql root 11257 0.0 2.0 26644 2044 pts/2 S 00:32 0:00 wget root 11258 0.0 0.8 7544 840 pts/2 S 00:32 0:00 grep root 11259 0.0 0.8 9688 832 pts/2 S 00:32 0:00 sed root 11260 0.0 0.8 9688 864 pts/2 S 00:32 0:00 sed root 11261 0.0 0.9 10368 980 pts/2 S 00:32 0:00 gawk root 11262 0.0 2.5 33644 2524 pts/2 S 00:32 0:00 mysql root 11264 0.0 2.0 26644 2044 pts/2 S 00:32 0:00 wget root 11265 0.0 0.8 7544 840 pts/2 S 00:32 0:00 grep root 11266 0.0 0.8 9688 832 pts/2 S 00:32 0:00 sed root 11267 0.0 0.8 9688 860 pts/2 S 00:32 0:00 sed root 11268 0.0 0.9 10368 984 pts/2 S 00:32 0:00 gawk root 11269 0.0 2.5 33644 2528 pts/2 S 00:32 0:00 mysql root 11271 0.0 2.0 26644 2044 pts/2 S 00:32 0:00 wget root 11272 0.0 0.8 7544 844 pts/2 S 00:32 0:00 grep root 11273 0.0 0.8 9688 836 pts/2 S 00:32 0:00 sed root 11274 0.0 0.8 9688 860 pts/2 S 00:32 0:00 sed root 11275 0.0 0.9 10368 984 pts/2 S 00:32 0:00 gawk root 11276 0.0 2.5 33644 2524 pts/2 S 00:32 0:00 mysql root 11278 0.0 2.0 26644 2048 pts/2 S 00:32 0:00 wget root 11279 0.0 0.8 7544 844 pts/2 S 00:32 0:00 grep root 11280 0.0 0.8 9688 832 pts/2 S 00:32 0:00 sed root 11281 0.0 0.8 9688 864 pts/2 S 00:32 0:00 sed root 11282 0.0 0.9 10368 984 pts/2 S 00:32 0:00 gawk root 11283 0.0 2.5 33644 2528 pts/2 S 00:32 0:00 mysql root 11284 0.0 1.1 16332 1160 pts/0 R+ 00:32 0:00 ps aux root 19216 0.0 3.3 70456 3336 ? Ss Mar24 0:00 sshd: root@pts/2 root 19548 0.0 2.0 19260 2056 pts/2 Ss+ Mar24 0:00 -bash root 26928 0.0 0.9 10632 920 pts/2 S Mar24 0:00 /bin/bash ./prog2 root 26929 0.0 0.9 10632 920 pts/2 S Mar24 0:00 /bin/bash ./prog2 root 26930 0.0 0.9 10632 920 pts/2 S Mar24 0:00 /bin/bash ./prog2 root 26931 0.0 0.9 10632 920 pts/2 S Mar24 0:00 /bin/bash ./prog2 root 26932 0.0 0.9 10632 920 pts/2 S Mar24 0:00 /bin/bash ./prog2 root 26933 0.0 0.9 10632 920 pts/2 S Mar24 0:00 /bin/bash ./prog2 root 26934 0.0 0.9 10632 920 pts/2 S Mar24 0:00 /bin/bash ./prog2 root 26935 0.0 0.9 10632 920 pts/2 S Mar24 0:00 /bin/bash ./prog2 root 26936 0.0 0.9 10632 920 pts/2 S Mar24 0:00 /bin/bash ./prog2 root 26937 0.0 0.9 10632 920 pts/2 S Mar24 0:00 /bin/bash ./prog2Přijde mi jako že se to docela fláká, vytížení cpu na 00 nic. Zkusim to ještě nenačítat rovnou do mysql a uvidim. Jinak fakt nevim.
grep | sed
je do očí bijící, sed
umí grepovat, zjednodušeně sed -e "/grep-like-regexp/ s/foo/bar/"
nefunguje: sed -e "/hledaneslovo/ s/foo/bar/g"
funguje: grep hledaneslovo | sed s/foo/bar/g
sed -ne "/hledaneslovo/ s/foo/bar/gp"
sed
implicitně vypisuje vše, co dostane, jen zde mění foo na bar.
grep
naopak vypisuje jen řádky s hledaneslovo
grep
lze simulovat sed
em (-n
jako nevypisuj, p
jako vypiš):
$ sed -n -e "/hledaneslovo/p"Vaše (jen odhaduji) varianta vám vypíše řádky s hledaneslovo a foo tam změní na bar, if any.
$ printf "foo\nhledaneslovo foo\nhledaneslovo\n" | grep hledaneslovo | sed -e "s/foo/bar/" hledaneslovo bar hledaneslovoČasto je poptřeba jen vypsat podmíněně řádky, kde (resp. pokud) byla udělána substituce.
$ printf "foo\nhledaneslovo foo\nhledaneslovo\n" | sed -n -e "/hledaneslovo/ s/foo/bar/p" hledaneslovo barale pokud chcete i řádky, kde není foo, tak na řádcích s hledaneslovo uděláte nejdřív substituci, a pak co máte dalším příkazem (tedy nepodmíněně vždy) vypíšete. Příkazy se oddělují středníkem, sdružují se závorkami.
$ printf "foo\nhledaneslovo foo\nhledaneslovo\n" | sed -n -e "/hledaneslovo/ {s/foo/bar/;p}" hledaneslovo bar hledaneslovo
sleep 10
... :D
wget --wait=3 --limit-rate=3K -r -p
http://www.abclinuxu.cz/poradna/programovani/show/331044
Pockat 3 vteriny a stahovar rychlosti 3K/s
a nezahnapne to net.
co posloupnost prikazu jako sed a grep resi minuty, jedno awk vyplivne za vterinu. No to minuty vs vteřiny není pravdauz jsem skutecne videl skript, kde se kombinaci sed a grep a nevim co jeste podarilo nahradit jednim awk a skutecne to vedlo az k takovemu zrychleni. ale je fakt, ze uloha tam puvodne byla celkove spatne resena
Tiskni Sdílej: