Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].
Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂
Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.
Instituce státní správy nebudou smět využívat produkty, aplikace, řešení, webové stránky a webové služby poskytované čínskou společností DeepSeek. Na doporučení Národního úřadu pro kybernetickou a informační bezpečnost rozhodla o jejich zákazu vláda Petra Fialy na jednání ve středu 9. července 2025.
re="4718|4717"; #main ###################################################### $/=undef; while ($file=(<>)) # cteni z prikaz radky { $a="\n".$file; #kvuli split \n2008 chop ($a); #kvuli print "$pole[$i]\n"; - zbavim se posledniho znaku enter @pole=split (/\n2008/,$a) ; $delka_pole=@pole; $i=1; while ($delka_pole > $i) { if ($pole[$i]=~/$re/) { $pridej ="2008" ; $pridej =$pridej.$pole[$i]."\n"; $" = ""; #"########################### ok push (@vystup, $pridej); } $i++ ; } }
chomp (my @var = STDIN>); my $times = grep (/se/m, @var); print "$times\n";
perl -0777 -e 'print map "2008$_", grep /4718|4717/, split/\n2008/, <>' soubor_s_daty.dat
perl -0777 -e 'print grep /4718|4717/, split/\n(?=2008)/, <>' soubor_s_daty.dat
$,="\n####\n";
pred ten print
.
tak to pomalu chapu -0777 nacte data jako jeden zaznam -e skript je v radce (?=2008) si zapamatuje 2008 a do pole to da vcetne toho 2008 (nezahodi tuto cast oddelovace) nechapu proc: 1. jsou carky mezi prikazy (jde o oddelovac vice prikazu na radce?) 2. proc je poradi prikazu 1.print 2.split 3.<> diky!
muzete mi nekdo vysvetlit nasledujici: time cat soubor|perl -0777 -e '$,="\n", print grep /40030/, split/\n(?=2008)/, <>' real 0m1.137s user 0m0.760s sys 0m0.510s time cat soubor|perl -0777 -e 'print grep /40030/, split/(?=\n2008)/, <>' real 0m8.116s user 0m7.800s sys 0m0.410s
print(grep(/40030/, split(/(?=\n2008)/, <>)))Takze to neni posloupnost prikazu, ale jsou to vlozene prikazy. Operator <> nacte cely soubor (protoze mame $/=undef v dusledku -0777). Provadime split na zaklade regexpu /(?=\n2008)/. Kdybychom pouzili jako oddelovac poli jenom /\n2008/, pak ztratili bychom tuto cast zaznamu (prave proto v mem prvnim reseni je map "2008$_", ktere vraci tuto cast zpatky). Kdyz pouzijeme look-ahead assertion (?=\n2008), pak vlastne provadime split v kazdem bode retezce, za kterym nasleduje \n2008, ale \n2008 neni brano jako soucast oddelovace poli. Vysledek splitu je seznam zaznamu, ktery je predavany jako druhy argument grepu. grep prochazi vsechny zaznamy tohoto seznamu a hleda jenom vyhovujici regexpu /40030/. Funguje nejak takto:
for $_ (seznam_zaznamu_ktery_vygeneroval_split) { if ( $_ =~ /40030/ ) { nechame_tento_zaznam_ve_vysledku; } else { zahodime_tento_zaznam; } }Nakonec, print vytiskne vsechny nalezene zaznamy a vlozi mezi ne $, (v nasem pripade prazdny radek).
$, = "\n"; $soubor = <>; @vsechny_zaznamy = split(/(?=\n2008)/, $soubor); @jenom_obsahujici_regexp = grep(/40030/, @vsechny_zaznamy); print @jenom_obsahujici_regexp;
ad 0) to mereni casu jsem delala nekolikrat. ad 1) ted je mi to jasne - vlozene prikazy - proto carka a proto to poradi. nakonec jsem tam jeste pridala sort (jako v mem puvodnim skriptu) casove je to +- stejne (muj puvodni vs vas) perl -0777 -e 'print sort grep /neco/, split/^(?=2008)/m, <>' velike diky za vysvetleni!
Dobrý den,
obdobný problém řeším tak, že pomocí tr -d '\r\n' (pro dos) spojím vše do jednoho řádku a následně sed-em rozřežu, na např. pro grep, použitelné řádky, tj. z mého pohledu standardně/typově začínající nebo končící. Pokud mi pošlete vzorek s konkrétním popisem požadavku, mohu se na to zkusit podívat.
jsksed 's/^2008/\x002008/' soubor_s_daty.dat | grep -z 'co_hledame' | tr -d '\0'
, ale i tak je to 4-krat pomalejsi nez reseni v Perlu.
Tiskni
Sdílej: