Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.
Apple představil (YouTube) telefony iPhone 17 Pro a iPhone 17 Pro Max, iPhone 17 a iPhone Air, sluchátka AirPods Pro 3 a hodinky Watch Series 11, Watch SE 3 a Watch Ultra 3.
Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.
Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.
Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.
Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.
Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.
Jakub Vrána vydal Adminer ve verzi 5.4.0: "Delší dobu se v Admineru neobjevila žádná závažná chyba, tak jsem nemusel vydávat novou verzi, až počet změn hodně nabobtnal."
V Německu slavnostně uvedli do provozu (en) nejrychlejší počítač v Evropě. Superpočítač Jupiter se nachází ve výzkumném ústavu v Jülichu na západě země, podle německého kancléře Friedricha Merze otevírá nové možnosti pro trénování modelů umělé inteligence (AI) i pro vědecké simulace. Superpočítač Jupiter je nejrychlejší v Evropě a čtvrtý nejrychlejší na světě (TOP500). „Chceme, aby se z Německa stal národ umělé inteligence,“ uvedl na
… více »V Berlíně probíhá konference vývojářů a uživatelů desktopového prostředí KDE Plasma Akademy 2025. Při té příležitosti byla oznámena alfa verze nové linuxové distribuce KDE Linux.
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} doneKontrolu 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
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'
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ěť
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: