Současně se SUSECON 2026 proběhne příští čtvrtek v Praze také komunitní Open Developer Summit (ODS) zaměřený na open source a openSUSE. Akce se koná ve čtvrtek 23. 4. (poslední den SUSECONu) v Hilton Prague (místnost Berlin 3) a je zcela zdarma, bez nutnosti registrace na SUSECON. Na programu jsou témata jako automatizace (AutoYaST), DevOps, AI v terminálu, bezpečnost, RISC-V nebo image-based systémy. Všichni jste srdečně zváni.
Český úřad zeměměřický a katastrální zavedl u anonymního nahlížení do katastru nemovitostí novou CAPTCHA ve formě mapové puzzle: nepřihlášení uživatelé musí nově správně otočit devět dlaždic v 3x3 poli tak, aby dohromady daly souvislý obrázek výseče reálné mapy, přičemž na to mají pouze jeden časově omezený pokus. Test je podle uživatelů i odborníků příliš obtížný a na sociálních sítích pochopitelně schytává zaslouženou kritiku a
… více »Byla vydána verze 1.95.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Mozilla prostřednictvím své dceřiné společnosti MZLA Technologies Corporation představila open-source AI klienta Thunderbolt. Primárně je určený pro firemní nasazení.
Firma Cal.com oznámila, že přesouvá svůj produkční kód z otevřeného do uzavřeného repozitáře z důvodu bezpečnostního rizika umělé inteligence, která prý dokáže vyhledávat a zneužívat zranitelnosti rychleji, než by je jejich vývojářský tým stíhal opravovat. Zároveň zveřejnila samostatnou, open-source verzi Cal.diy pod licencí MIT, ovšem bez řady původních funkcí. O tom, zda je toto opatření rozumné, existují pochyby. … více »
Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.04. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Kryptografická knihovna OpenSSL byla vydána v nové verzi 4.0. Přehled změn v souboru CHANGES.md na GitHubu. Odstraněna byla podpora SSLv2 Client Hello a SSLv3. Ve výchozím nastavení byla zakázána podpora odmítnutých eliptických křivek v TLS dle RFC 8422. Přibyla například podpora Encrypted Client Hello (ECH, RFC 9849).
curl up 2026, tj. setkání vývojářů a uživatelů curlu, proběhne opět v Praze. O víkendu 23. a 24. května v Pracovně.
Aplikace pro ověřování věku uživatelů on-line platforem je technicky hotová a brzy bude k dispozici pro občany EU, oznámila dnes předsedkyně Evropské komise Ursula von der Leyenová. Půjde podle ní o bezplatné a snadno použitelné řešení, které pomůže chránit děti před škodlivým a nelegálním obsahem. Aplikace bude podle ní fungovat na jakémkoli zařízení a bude zcela anonymní.
V prosinci 2012 byla z linuxového jádra odstraněna podpora procesorů 386. Včera započalo odstraňování podpory procesorů 486.
Ř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: