Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
jmeno="pazout" vek=32 povolani="bez prace" vek=70 poznamka="" povolani="v duchodu" jmeno="kadrnozkova" druh="verny" vek=120 jmeno="jonatan" povolani="pes"a chtel bych z nej (nejspis awkem?) vypsat pouze policka "jmeno" a "vek", abych dostal:
jmeno="pazout" vek=32 jmeno="kadrnozkova" vek=70 jmeno="jonatan" vek=120ale stale se nedari. prosim pomozte diky
while read x; do eval "$x"; echo jmeno=\""$jmeno"\" vek="$vek"; done <souborale samozřejmě vede k problémům, pokud se v souboru objeví podezřelé věci... Na druhé straně escapování dat nespecifikuješ, takže těžko říci, co se může objevit a jak.
$ cat test
jmeno="pazout" vek=32 povolani="bez prace"
vek=70 poznamka="" povolani="v duchodu" jmeno="kadrnozkova"
druh="verny" vek=120 jmeno="jonatan" povolani="pes"
$ sed -n 's/.*\(jmeno="[^"]*"\).*\(vek=[0-9]*\).*\|.*\(vek=[0-9]*\).*\(jmeno="[^"]*"\).*/\1\4 \2\3/p' < test
jmeno="pazout" vek=32
jmeno="kadrnozkova" vek=70
jmeno="jonatan" vek=120
Problem je, pokud by tech "zajimavych" hodnot bylo vic. Timhle zpusobem to jde napsat maximalne na tri hodnoty
$ cat test
jmeno="pazout" vek=32 povolani="bez prace"
vek=70 poznamka="" povolani="v duchodu" jmeno="kadrnozkova"
druh="verny" vek=120 jmeno="jonatan" povolani="pes"
jmeno="jmeno1"
vek=77
nic
$ awk 'function extract(l, r) { if(match(l, r) != 0) v=substr(l, RSTART, RLENGTH); else v=""; return v } { jmeno=extract($0, "jmeno=\"[^\"]*\""); vek=extract($0, "vek=[0-9]*"); if(jmeno && vek) print jmeno " " vek;}' < test
jmeno="pazout" vek=32
jmeno="kadrnozkova" vek=70
jmeno="jonatan" vek=120
Pak je moznost upravit to, pokud je jedna hodnota nalezena, nebo vsechny.
sed -e 's/^/{ /' -e 's/$/ },/' \
-e 's/ \([a-z]\+\)=/, \1:/g' \
-e 's/^{,/{/' \
> data.json
Pak doplň obalující [] a umázni poslední čárku. Nakonec v PHP si s tím už lehce poradíš:
#!/usr/bin/env php
<?php
$data = json_decode(file_get_contents('data.json'));
foreach ($data as $row) {
echo 'jmeno="', $row['jmeno'], '" vek="', $row['vek'], "\"\n";
}
while true ; do
jmeno="N/A" vek="N/A"
read line
test $? -gt 0 && exit 0
eval $line
echo jmeno=\"${jmeno}\" vek=${vek}
done
Pokud jsou v tom nejake paznaky zaescapovane neshelovym zpusobem tak to samozrejme nepujde ale mozna i tak bude jednodussi to usedovat nez psat parser v jnem jazyce. Plus, je tam shellovy eval takze zadne neosetrene vsupy!
Tiskni
Sdílej: