Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek
… více »Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.
Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.
Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.
Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …
Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.
Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.
Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.
P41PR SP62TZ P24LS P25NR P112HX P26HU SP36BU SP1V4JDa potrebuju je upravit aby ctvrty znak od konce byla mezera.
P4 1PR SP6 2TZ P2 4LS P2 5NR P11 2HX P2 6HU SP3 6BU SP1V 4JDMuzete me nakopnout jak to udelat se sed-em? Predem diky.
sed nebral:
while read line; do
echo ${line:0:${#line}-3} ${line:${#line}-3}
done
Kontrolu pro příliš krátké řetězce si už doplníte sám.
sed 's/\(^.*\)\(...$\)/\1 \2/' soubor_s_tema_kodama
sed 's/\(...\)$/ \1/'
sed -e 's/\(.*\)\(...\)$/\1 \2/' soubor
file('soubor2', 'w').writelines(([a[:-4]+' '+a[-4:] for a in file('soubor')]))
Fůůůůj
V době, kdy se rozmáhají "chytré krabičky", do kterých si lidé cpou speciální distribuce, je třeba mít se na pozoru, řekl bych. A na IRIXu a Solarisu mi to taky bude k ničemu, pokud se nerozhodnu stáhnout si extra binárky z nekochan.net nebo něčeho podobného pro Solaris. Na dvou třetinách strojů doma Python nemám, protože na nich potřeba nebyl, a kdybych potřeboval jenom přidat mezeru do sloupce, těžko bych ho kvůli tomu instaloval. Kdybych tam rozhcházel třeba CherryPy, samozřejmě bych těžko mohl jinak, ale kvůli mezeře do souboru?
Pokud jde o "počet znaků", prostě mi uchází, proč to dělat složitě, když to jde jednoduše, nástrojem přesně k tomuto účelu zamýšleným.
)perl -ne 's/(?<=...)$/ /; print'
„perl -ne“
Ano, tak s tím nelze nesouhlasit. Perl opravdu ne.
perl -pe 's/(?=...$)/ /'
"No a v tomto konkrétním případě jste určitě mohl vymyslet lepší důvody pro kritiku než počet znaků zdrojáku či "pravděpodobnost dostupnosti nástroje"."Kdybyste navrhoval embedded zařízení, dáte tam raději _jeden_ nástroj (python - viz například mobil nokia S60)
Já bych to nebral tak úplně na lehkou váhu.V době, kdy se rozmáhají "chytré krabičky", do kterých si lidé cpou speciální distribuce, je třeba mít se na pozoru, řekl bych.
A na IRIXu a Solarisu mi to taky bude k ničemu, pokud se nerozhodnu stáhnout si extra binárky z nekochan.net nebo něčeho podobného pro Solaris. Na dvou třetinách strojů doma Python nemám, protože na nich potřeba nebyl, a kdybych potřeboval jenom přidat mezeru do sloupce, těžko bych ho kvůli tomu instaloval.To, že jste se rozhodl nenainstalovat python je pouze vaše osobní věc. Nic to nevypovídá o obtížnosti instalace, dostupnosti nebo použitelnosti.
Kdybych tam rozhcházel třeba CherryPy, samozřejmě bych těžko mohl jinak, ale kvůli mezeře do souboru?Viz výše,![]()
Pokud jde o "počet znaků", prostě mi uchází, proč to dělat složitě, když to jde jednoduše, nástrojem přesně k tomuto účelu zamýšleným.Takže čím méně znaků, tím je to podle vás jednodušší? Pak nechápu, proč se tak distancujete od mocného Perlu

$ time sed -e 's/\(...\)$/ \1/' soubor > /dev/null real 0m38.281s user 0m37.978s sys 0m0.212s $ time ./pridej_mezeru.py > /dev/null real 0m27.808s user 0m27.582s sys 0m0.128sPerl by pravděpodobně ve všem zvítězil, ale bohužel je tam nějaká chyba a já to nedákážu ani přečíst, natož opravit.
perl -ne 's/(...)$/ $1/; print'ale nefandil by som mu, regexp bude pomalsi ako priame vypisovanie retazca, co by mohlo byt nasledovne
perl -ne 'substr $_, -4, 0, " " if length > 4; print'
$ time perl -ne 's/(...)$/ $1/; print' soubor > /dev/null real 1m4.121s user 1m0.340s sys 0m0.192sAle ten druhý případ dává perlu jasné vítězství:
$ time perl -ne 'substr $_, -4, 0, " " if length > 4; print' soubor > /dev/null real 0m14.447s user 0m13.433s sys 0m0.236sProti perlu nemám s Pythonem šanci. Především proto, že čitelnost kódu nelze měřit
perl -pe 'substr$_,-4,0," "if length>3'
"To, že jste se rozhodl nenainstalovat python je pouze vaše osobní věc. Nic to nevypovídá o obtížnosti instalace, dostupnosti nebo použitelnosti."
Jde o to, že regulární výraz pro sed napíšu po zralé úvaze za půlminutu. Sehnání a instalace Pythonu se mi za půlminutu nepovede.
Od Perlu se nedistancuju, to byl jen vtip.
Nicméně přeci jen upřednostňuju méně terse řešení pro velké věci, ale pro takovou drobnost mi zápis sedu přijde jako "just right". Je to asi subjektivní, ale pokud vidím
sed 's/\(...\)$/ \1/'
a snažím se přijít na to, co dělá konkrétního (že sed zpracovává stream, je mi jasné, je to stream editor), mám 75 % textu věnovaného konkrétnímu problému. Kdežto tady
file('soubor2', 'w').writelines(([a[:-4]+' '+a[-4:] for a in file('soubor')]))
je ta nejpodstatnější část ([a[:-4]+' '+a[-4:]) ukrytá v cca. 16 % textu a nejprve se musím prolouskat tím, co ten obecný interpret má v tomhle konkrétním případě vlastně momentálně má za úkol. Jistě, je to ovlivněno psychologií, aktuálními znalostmi jednotlivých nástrojů a vůbec je to subjektivní, ale předpokládá, že v tomhle nebudu sám.
Vida! Mohl bych, prosím pěkně, dostat zdrojový kód obou textů a ten soubor nebo jeho generátor, třeba zapakované? Mohl bych to vyzkoušet s jednou zajímavou knihovnou a přesvědčit se, jak je opravdu rychlá... Tedy jinak řečeno, přidat ještě jedno řešení.Jasně, s tím generátorem jsem moc na veřejnost jít nechtěl, ale tady je![]()
file('soubor', 'w').writelines('pepazdepa\n' * 10000000)
A testoval jsem to myslím tímhle:
#!/usr/bin/env python
import sys
for line in file('soubor'):
sys.stdout.write(line[:-4] + ' ' + line[-4:])
Je to trochu pomalejší než ten one-liner, který jsem poslal předtím (ten prosím nepoužívat), ale zase to nesežere všechnu paměť 
Jakmile se večer dostanu k stroji s nějakým unixem...
ruby -ne 'print $_[0..-5]+" "+$_[-4..-1]' soubora:
#!/usr/bin/ruby
f = File.new("soubor")
f.each { |line| line.sub!(/(...)$/,' \1'); puts line}
f.closeale obě varianty rychlostně hodně zaostavají za sedem, perlem i pythonem.
$ time perl -pe 'substr$_,-4,0," "if length>3' test.txt > /dev/null real 0m0.070s user 0m0.050s sys 0m0.000s $ time python pridej_mezeru.py real 0m0.101s user 0m0.090s sys 0m0.010s $ time perl -pe 's/(?=...$)/ /' test.txt > /dev/null real 0m0.365s user 0m0.360s sys 0m0.000s $ time sed 's/\(...\)$/ \1/' test.txt > /dev/null real 0m0.522s user 0m0.500s sys 0m0.000s
$ time sh pridej_mezeru.sh <test.txt >/dev/null real 0m4.153s user 0m3.020s sys 0m0.100s
sed -e 's/\(...\)$/ \1/'mimochodom, ako sa to ma chovat, ak na riadku su menej ako tri znaky ?
Tiskni
Sdílej: