Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.
První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.
Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.
Byla vydána nová verze 8.5 (8.5.0) skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení (URI Extension, Pipe Operator, Clone With, …). Vydána byla také příručka pro přechod z předchozích verzí.
Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu
… více »Společnost Meta Platforms vyhrála ostře sledovaný spor o akvizici sítě pro sdílení fotografií Instagram a komunikační aplikace WhatsApp. Podle amerického soudu firma jejich převzetím neporušila antimonopolní zákon, protože si tak nemonopolizovala trh sociálních sítí. Žalobu na Metu podala před pěti lety americká Federální obchodní komise (FTC). FTC argumentovala, že Meta, tehdy známá jako Facebook, koupila tyto dvě společnosti v letech 2012 a 2014 proto, aby s nimi nemusela soutěžit.
Home Assistant včera představil svůj nejnovější oficiální hardware: Home Assistant Connect ZBT-2 pro připojení zařízení na sítích Zigbee nebo Thread.
Byla vydána verze 9.1 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,809 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější superpočítač v Evropě JUPITER Booster s výkonem 1,000 exaFLOPS je na čtvrtém místě. Nejvýkonnější český superpočítač C24 klesl na 192. místo. Karolina, GPU partition klesla na 224. místo a Karolina, CPU partition na 450. místo. Další přehledy a statistiky na stránkách projektu.
Microsoft představil Azure Cobalt 200, tj. svůj vlastní SoC (System-on-Chip) postavený na ARM a optimalizovaný pro cloud.
t [label] - skočí na label (nebo na konec, když label chybí), pokud byla poslední substituce úspěšná. To se hodí když např. chci ze souboru ostranit nějaké řádky podle nějakého regexpu:
sed -n 's/...//;t;p;'
Abych se přiznal, tak zrovna tenhle příkaz mi není moc jasný. Teprve až ho pochopím, tak ho určitě přidám. Jinak díky.
sed -ne 's/...//;t;p;' zrovna není štastný příklad, protože téhož asi raději dosáhneme čitelnějším: sed -e '/.../d'. Ale jsou situace, kdy se hodí. b je prostý skok, t skok podmíněný (nahrazení s proběhlo od začátku zpracování toho řádku). Do téhle kategorie patří i "hold space" (g, G, h, H, x) a možnost spojovat řádky na vstupu (N).
Pravdou nicméně je, že když na tyto prostředky dojde, možná je na čase zvážit jiný nástroj (třeba awk). sed sice mnoho dokáže, ale složitější konstrukce se dle mého špatně čtou. Takže pro pobavení/potěšení stojí za to zkusit čistě sed řešení problému, ale nemusí to být nutně řešení nejpraktičtější.
Čeho bych se raději vyvaroval (prostě je to nepěkná forma (a trochu plýtvání prostředky) jsou pekelné roury tak časté v mnoha skriptech: grep ... | awk ... | sed ... | grep -v ... | tr ... | ... v libovolných sekvencích a opakováních. Všechny tyto úkony je lépe svěřit jednomu sed nebo awk skriptu.
Pokud máte rád knihy a hezky utříděné informace: <http://oreilly.com/catalog/9781565922259>.
Díky
Čeho bych se raději vyvaroval (prostě je to nepěkná forma (a trochu plýtvání prostředky) jsou pekelné roury tak časté v mnoha skriptech: grep ... | awk ... | sed ... | grep -v ... | tr ... | ... v libovolných sekvencích a opakováních. Všechny tyto úkony je lépe svěřit jednomu sed nebo awk skriptu.Z hlediska výkonu souhlas – ale co se týče přehlednosti, tak IMHO bude většinou vycházet líp, rozdělit to na víc menších srozumitelných částí, než jeden ultimátní skript. Jasně, dá se okomentovat, ale pokud to někdo píše na jednu řádku, tak mi přijdou přehlednější ty roury.
Hezká ukázka toho, jak může být sed užitečný (nastavení dynamického linkeru, který má gcc používat).
sed nepoužívá specifický druh regexpů, to spíš Perl má svoje rozšířeníTak tak, ale PCRE ma "hezci" syntaxi. Obvykle musim v sedu psat spoustu zpetnych lomitek v regexpech. Navic, kdyz uz umim perl, da se pouzit jako grep, sed, awk a neco navic (ikdyz awk toho umi taky dost).
Obvykle musim v sedu psat spoustu zpetnych lomitek v regexpech.
Protože z historických důvodů používá Basic RE. U GNU sedu to řeší přepínač -r
Děkuju za ocenění.
Jojo, já taky, ale poděl je, že zruší symlink a udělá z něj normální soubor. Řešením by mělo být --follow-symlinks.To bych neviděl jako problém :), ale proti --follow-symlinks nic nemám.
--follow-symlinks pochopitelně neobsahuje a gnu nástroje mají být (afaik) nadmnožinou standardu, takže odtud takovéhle podivnosti. Je bohužel mnohem jednoduší přidat si vlastní extension než snažit se pohnout se standardem, ačkoli by to bylo v tomhle i mnoha dalších případech lepší.
To je imho kvůli standardu. Standard nic jako --follow-symlinks pochopitelně neobsahuje a gnu nástroje mají být (afaik) nadmnožinou standardu,
Požadavek, aby implementace byla nadmnožinou standardu, nijak nebrání tomu, aby si přidala další přepínače, které POSIX nepožaduje - což je ostatně i samotný -i (přesněji: všechny kromě -e, -f a -n).
-i je GNU rozšířením, nelze default vysvětlovat POSIXem, ale jen zpětnou kompatibilitou.
-i není posix, no tak to je potom ještě blbější výmluva...
Je to docela problém, když máš třeba vhosty apache v /etc/apache2/sites-available a v sites-enabled pouze odkazy na ty povolený a pak se rozhodneš in-place editovat soubor přes symlink...Stačí nelézt, kam nemáš :).
Podle mě by --follow-symlinks měla být implicitní volba.Podle mě spíše ne. Mám radši, když nástroje dělají přesně to, co jim řeknu.
Ale důležitý je hlavně o tomto vědět, pak si na to člověk dá bacha.Tak.
Mám radši, když nástroje dělají přesně to, co jim řeknu.No právě – proto bych tady spíš čekal, že dojde k úpravě souboru (ne navíc ke smazání odkazu a uložení obyčejného souboru místo něj). Argument s kompatibilitou beru – ale logičtější by to bylo takhle.
o právě – proto bych tady spíš čekal, že dojde k úpravě souboru (ne navíc ke smazání odkazu a uložení obyčejného souboru místo něj). Argument s kompatibilitou beru – ale logičtější by to bylo takhle.Mno mě to přijde logičtější naopak. Protože kdyby sed tu volbu neměl, soubor bych si přejmenoval, dal ho sedu na vstupu a výstupu dal jeho původní jméno. Měl bych tedy stejný výsledek, jako má sed -i, proto mi to přijde přirozenější.
A nejde jenom o editory – ty symbolické odkazy respektuje prakticky každý program – nebo když do toho odkazu nasměruji standardní výstup (třeba příkazu echo ahoj), tak se taky zapíše skrze odkaz do cílového souboru – nepřepíše se ten odkaz obyčejným souborem.
Navíc sed zachovává přístupová práva – taky proto bych čekal, že zachová symbolický odkaz.
Zajímavě se to chová taky při použití pevných odkazů:
$ echo 111 > soubor1.txt $ ln soubor1.txt soubor2.txt $ sed -i s/1/2/g soubor2.txt $ cat soubor2.txt 222 $ cat soubor1.txt 111Opět to původní soubor smaže a vytvoří úplně nový – místo aby to editoval „na místě“ v tom stejném souboru. Beru to prostě jako záludnost, na kterou je potřeba si dávat pozor, nějakou logiku v tom ale nevidím (kromě té snahy o kompatibilitu, což už jsem tu psal).
Navíc sed zachovává přístupová práva – taky proto bych čekal, že zachová symbolický odkaz.Navrácení přístupových práv je bezpečné, u toho následování linků si tak jistý nejsem.
Opět to původní soubor smaže a vytvoří úplně nový – místo aby to editoval „na místě“ v tom stejném souboru.On sed je proudový, takže by bylo dost zvláštní, kdyby něco editoval opravdu na místě.
Beru to prostě jako záludnost, na kterou je potřeba si dávat pozor, nějakou logiku v tom ale nevidím (kromě té snahy o kompatibilitu, což už jsem tu psal).Kompatibilita je pouze zachvávání určitého stavu, ne jeho vytváření :).
Jednou je to stream editor, tak je to stream editorTak tak, nikoli file editor
:p
Nadruhou stranu souhasím, že když in-place, tak teda in-place, čili jako každá jiná slušná utilita...
Jojo, já taky, ale poděl je, že zruší symlink a udělá z něj normální soubor. Řešením by mělo být --follow-symlinks.Nebo použít
ed. Poštvat ho na daný soubor k editaci a instrukce mu nakrmit na standardní vstup (třeba pomocí here documents) ;)
Díky
Tiskni
Sdílej: