Virtualizační software Xen (Wikipedie) byl vydán v nové verzi 4.21. Podrobnosti v poznámkách k vydání a přehledu nových vlastností.
Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).
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.
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: