Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
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.
Řešení dotazu:
perl -pe 's/([^,\n]+)/substr $1, 0, 5/ge' < input > output
nebo přímo upravit v souboru
perl -pi -e 's/([^,\n]+)/substr $1, 0, 5/ge' text
cut -b 1-5 souborNevyhovuje - ořízne konce řádků, ale my chceme oříznout slova oddělená na řádku čárkami.
#!/bin/bash
while read LINE;
do
FIRST="Y";
echo "${LINE}" | sed 's!,!\n!g' | \
while read WORD;
do
if [ "${FIRST}" != "Y" ];
then
echo -ne ",";
fi;
echo -ne "${WORD}" | cut -z -c "1-5";
FIRST="N";
done;
echo -ne "\n";
done;
#eof
Zdrojový text je v souboru a:
# cat a ovoce,zelenina,mandarinky,jablka okurky,kapusta,cibule,chmel jahody,maliny,papriky,kokosy brambory,mirabelkySpuštění čte z a zapisuje do b:
# ./filter.sh < a > bVýsledný text je v souboru b:
# cat b ovoce,zelen,manda,jablk okurk,kapus,cibul,chmel jahod,malin,papri,kokos bramb,mirab
awk -F, 'BEGIN {OFS = ","}
{
for (i = 1; i <= NF; i++) {
$i = substr($i, 1, 5)
}
print
}' <data.txt
To je domácí úkol na awk (skoro) one-linery, že jo.
awk 'BEGIN {FS = ","; OFS = FS}
{for (i = 1; i <= NF; ++i) $i = substr($i, 1, 5); print $0}'
Jestli to ale musí být opravdu striktně v čistém bashi, tak prosím:
IFS=','
while read -a line; do
echo -n "${line[0]:0:5}"
for word in "${line[@]:1}"; do
echo -n ",${word:0:5}"
done
echo
done
Dobře, tohle je hezčí řešení než to mojeJestli to ale musí být opravdu striktně v čistém bashi, tak prosím:
IFS=',' while read -a line; do echo -n "${line[0]:0:5}" for word in "${line[@]:1}"; do echo -n ",${word:0:5}" done echo done
IFS=','
while read -a aline; do
line="`printf '%.4s,' ${aline[@]}`"
printf '%s\n' "${line:0:-1}"
done
#!/bin/bash
while IFS=',' read -a aline; do
line="`printf '%.5s,' ${aline[@]}`"
printf '%s\n' "${line:0:-1}"
done
IFS=,
function f5 {
while :
do
echo -n "${1:0:5}"
shift
if [ -z $1 ]; then
echo
break
fi
echo -n "$IFS"
done;
}
while read line;
do
f5 $line
done;
Tiskni
Sdílej: