Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.
Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.
Canonical oznámil, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie) v Ubuntu.
Tržní hodnota americké společnosti Alphabet, která je majitelem internetového vyhledávače Google, dnes poprvé překonala hranici tří bilionů dolarů (62,1 bilionu Kč). Alphabet se připojil k malé skupině společností, které tuto hranici pokořily. Jsou mezi nimi zatím americké firmy Nvidia, Microsoft a Apple.
Spojené státy a Čína dosáhly dohody ohledně pokračování populární čínské platformy pro sdílení krátkých videí TikTok v USA. V příspěvku na síti Truth Social to dnes naznačil americký prezident Donald Trump. Dosažení rámcové dohody o TikToku vzápětí oznámil americký ministr financí Scott Bessent, který v Madridu jedná s čínskými představiteli o vzájemných obchodních vztazích mezi USA a Čínou. Bessentova slova později potvrdila také čínská strana.
MKVToolNix, tj. sada nástrojů pro práci s formátem (medialnym kontajnerom) Matroska, byl vydán ve verzi 95.0. Podpora přehrávání formátu Matroska míří do Firefoxu [Bug 1422891, Technický popis]. Přehrávání lze již testovat ve Firefoxu Nightly.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.
Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si
… více »Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.
Ř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: