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.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
).
) je mezi uzavíračem textu " nebo ne.
Pred lety jsem delal v Bash prototyp streamoveho filtru.
Pak jsem to prepsal s jinou filosofii v C.
Nicmene vyvoj sel velmi rychle (stale jsem odchytaval dalsi a dalsi zverstva v tom streamu).
Myslim ze by to slo snadno priohnout.
Je to ale dost pomale....
Marek
#!/bin/bash
export IFS=""
ramecky=0
while read -rsn1 char
do
if [ $ramecky -eq 1 ]
then
case "$char" in
$'\033')
read -rsn1 char1
if [ "$char1" = '[' ]
then
read -rsn1 char2
if [ "$char2" = '1' ]
then
read -rsn1 char3
if [ "$char3" = '0' ]
then
read -rsn1 char4
if [ "$char4" = 'm' ]
then
#rozpoznana escape sequence na zapnuti ramecku
ramecky=0
echo -en "\\033[0;39m"
else
echo -n "$char$char1$char2$char3$char4"
fi
else
echo -n "$char$char1$char2$char3"
fi
else
echo -n "$char$char1$char2"
fi
else
echo -n "$char$char1"
fi
;;
D)
echo -n '-'
;;
Z)
echo -n ','
;;
'?')
echo -n '.'
;;
'@')
echo -n '`'
;;
'Y')
echo -n "'"
;;
'3')
echo -n '|'
;;
'')
echo
;;
*)
echo -n "$char"
esac
else
case "$char" in
$'\033')
read -rsn1 char1
case "$char1" in
"d")
read -rsn1 char2
if [ "$char2" = '#' ]
then
#tady probiha tisk
read -rsn1 char3
( while [ ! "$char3" = $'\024' ]
do
[ "$char" ] || echo
echo -n "$char3"
read -rsn1 char3
done ) | /usr/local/sbin/print1
else
echo -n "$char$char1$char2"
fi
;;
'[')
read -rsn1 char2
case "$char2" in
1)
read -rsn1 char3
if [ "$char3" = '2' ]
then
read -rsn1 char4
if [ "$char4" = 'm' ]
then
#rozpoznana escape sequence na zapnuti ramecku
ramecky=1
echo -en "\\033[1;43m"
else
echo -n "$char$char1$char2$char3$char4"
fi
else
echo -n "$char$char1$char2$char3"
fi
;;
5)
read -rsn1 char3
if [ "$char3" = ';' ]
then
read -rsn1 char4
if [ "$char4" = '1' ]
then
read -rsn1 char5
if [ "$char5" = 'i' ]
then
#rozpoznany zacatek tisku
konec=0
( while [ "$konec" -eq 0 ]
do
read -rsn1 char6
if [ "$char6" = $'\033' ]
then
read -rsn1 char7
if [ "$char7" = '[' ]
then
read -rsn1 char8
if [ "$char8" = '4' ]
then
read -rsn1 char9
if [ "$char9" = 'i' ]
then
konec=1
else
echo -n "$char6$char7$char8$char9"
fi
else
echo -n "$char6$char7$char8"
fi
else
echo -n "$char6$char7"
fi
else
[ "$char6" ] || echo
echo -n "$char6"
fi
done ) | /usr/local/sbin/print1
else
echo -n "$char$char1$char2$char3$char4$char5"
fi
else
echo -n "$char$char1$char2$char3$char4"
fi
else
echo -n "$char$char1$char2$char3"
fi
;;
*)
echo -n "$char$char1$char2"
esac
;;
*)
echo -n "$char$char1"
esac
;;
$'\221')
echo -en "\\033[1;43m \\033[0;39m"
;;
$'\237')
echo -en "\\033[1;42m \\033[0;39m"
;;
$'\233')
echo -n "-"
;;
$'\232')
echo -n "|"
;;
'')
echo
;;
*)
echo -n "$char"
esac
fi
done
No ono to s tou pomalosti zas tak strasne neni.
Fungovalo to jako obalka pro telnet+xterm a nez ten telnet to i na starodavnych pleckach, na ktere to bylo urceno, bylo rychlejsi.
Pomalost se projevovala pouze pri tisku velkych souboru.
MarekJo a nesmelo to bufferovat, takze se muselo parsovat opravdu znakove.

sed ':a;N;$!ba;s/\("[^"]*\)\n\([^"]*"\)/\1Shit_new_line\2/g' kuk.csv
funguje to na , a " a LF na ' jsem neměl nervy to zapisovat do $quot; a escapovat, sed ':a;N;$!ba;s/\("[^"]*\)\r\n\([^"]*"\)/\1Shit_new_line\2/g' kuk.csv
Což by mohl být základ „workaround-u“ co chcete…Shit_new_line musí být unikátní v souboru se nevyskytující řetězec.
s/$quot;/\" , nebo-li $quot; mělo být "
load data local infile 'pokus.csv' into table adresa fields terminated by ',' enclosed by '"' lines terminated by '\n' (jmeno,cislo,ulice);Vyzkoušel jsem s podobnými vstupy, funguje to. Včetně diakritiky. OpenOffice Calc to načte také.
A jinak bych to asi předělal do XMLA v čem to bude lepší?
xsltproc – to mi přijde rozumnější, než psát několikastránkové skripty v bashi. Nebo ty data naládovat do relační databáze a pak s tím pracovat už hezky v SQL
CSV lze specifikovat velmi jednoduše (RFC je výjimka, jenž potvrzuje pravidlo), což se o XML říct nedá.
<rejp>Napsat CSV parser dá zhruba stejně práce jako napsat hlavičku a patičku XSLT skriptu.</rejp>
CSV lze specifikovat velmi jednodušeCož bohužel znamená, že si CSV naspecifikuje každý znova a trochu jinak. Takže napsat obecný automatický parser CSV nakonec nejde, vždycky musí uživatel ze vzorku okem odhadnout, co asi budou jaké oddělovače atd.
Tiskni
Sdílej: