Společnost Backblaze zveřejnila statistiky spolehlivosti pevných disků používaných ve svých datových centrech za rok 2025. Ke konci roku 2025 vlastnila 349 462 pevných disků. Průměrná AFR (Annualized Failure Rate), tj. pravděpodobnost, že disk během roku selže, byla 1,36 %. V roce 2024 to bylo 1,57 %. V roce 2023 to bylo 1,70 %. V roce 2022 to bylo 1,37 %.
Nástroj sql-tap je proxy mezi aplikací a databází, které zachytává všechny SQL dotazy a zobrazuje je v terminálovém rozhraní. Zde lze téměř v reálném čase zkoumat dotazy, sledovat transakce a spouštět SQL příkaz EXPLAIN. Podporované databázové systémy jsou pouze PostgreSQL a MySQL. Zdrojový kód je dostupný na GitHubu, pod licencí MIT.
Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře dětí v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.
Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.
Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.
Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).
Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.
Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.
Potřeboval bych v mnoha html souborech umazat kus textu a nahradit ho jiným kusem textu. Na internetu jsem našel toto řešení pomocí perlu:
find -name '*.html' -exec perl -pi -e 's/CoNahradit/CimNahradit/g' {} \;
Toto by mi dokonale vyhovovalo, kdybych místo CoNahradit a CimNahradit mohl mít delší text plný uvozovek, lomítek, apostrofů.. Zkrátka potřebuji nahradit kód IndexTools za něco jiného. Díky za každou pomoc
Klidně použij tohle ačkoliv by bylo lepší použít sed, na tohle bohatě stačí. Pak by to vypadalo takhle:
find . -name "*.html" -print0 | xargs -0 sed -i 's/CoNahradit/CimNahradit/g'
sed s textem pracuje po řádcích, nicméně by to mělo jít taky
sed-u asi fakt nešlo. Sice je možný do patternu narvat odřádkování, ale předchozí řádek mezitím už sedem propluje a ztratí se.
N se nový řádek připojí ke stávajícímu, takže extrémní obezličky jsou například spojit celý soubor do jednoho řádku a podobně :) U html stránek možná i přijatelné řešení, ale obecně spíš jen když člověk bez sedu prostě nemůže žít.
samozrejme, text sa musí ako multiline načítať. (undef $/ pomôže)
> Takže několik vždy stejných řádků textu před koncem body.Nebolo by možné pomocou
head odrezať tie riadky na konci, ktoré tam nechceš a potom jednoducho append-núť tie riadky, ktoré chceš?
Resp. urobiť niečo takéto
head -n -10 < vstup > tmp1
tail -n 5 < vstup > tmp2
cat tmp1 novyobsah tmp2 > vystup
čím sa nahradia riadky medzi 10. a 5. riadkom od konca novym obsahom.
find . -iname '*.html' | xargs sed -f cmd.sed
cmd.sed:
/IndexTools start/,/end of IndexTools/{
:l # label l
N # pripoj dalsi radek
s|IndexTools start.*end of IndexTools|GoogleAnalytics| # zkus nahradit
T l # pokud se nic nenahradilo tak skoc na label l
}
Tím že to dáte do souboru tak vám nevadí ani uvozovky, ani apostrofy, lomítka buď escapujete (\\) nebo "zanedbáte", takže akorát znak "|" no a pokud ho kód IndexTools nebo GoogleAnalytics obsahuje, tak si vyberte nějaký jiný znak.
Podstatné je, že vám stačí escapovat jen začátek IndexTools dostatečně jednoznačně identifikující ten kód, a pak konec téhož. Text GoogleAnalytics je normální řetězec (žádné excapování krom té pajpy "|").
Vyzkoušejte možné problémy třeba na:
html body something IndexTools start tady neco co chci nahradit end of IndexTools something /html
sed -i :D aby vám ty (předpokládám nejprve zazálohované...) soubory opravdu přepsal, jinak to hází na standardní výstup :)
Bezvadný, tohle je téměř dokonalý, díky moc. Narazil jsem jen na malý problém. Když by příklad vypadal takhle..
html
body
something
script
IndexTools start
tady neco
/script
script
co chci
nahradit
end of IndexTools
/script
something
/html
..jak to označit od prvního script po poslední /script, když na prvním a posledním řádku je pouze script a /script. Takže jednoduše nevím co dosadit za XXX (s|scriptXXX.*/XXXscript|google|). Snad mi rozumíte.
1 průchod:
sed -e "/script/,+1{N;s/^\(.*script.*\)\n\(.*IndexTools start.*\)$/\1 \2/}"
2 průchod:
sed -e "/script/,+1{N;s/^\(.*end of IndexTools.*\)\n\(.*\/script.*\)$/\1 \2/}"
A pak do třetice ten skript co jsem poslal s tím, že do toho search&replace přidáte i ten tak pro začátek a konec skriptu.
2 průchod:
sed -e "/end of IndexTools/,+1{N;s/^\(.*end of IndexTools.*\)\n\(.*\/script.*\)$/\1 \2/}"
,+1) Kdybyste chtěl zkusit spojit víc než dva řádky tak stačí dát víckrát za sebou N;
Tiskni
Sdílej: