Přímý přenos (YouTube) z konference LinuxDays 2026, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
Byla vydána nová verze 0.17.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 206 vývojářů. Přehled novinek v poznámkách k vydání.
Open-source projekt OpenDLSS-NR je 'bitově přesná reimplementace' neuronové rendrovací sítě DLSS 5 od společnosti NVIDIA, jenže pro grafické API Vulkan (DLSS slouží k vylepšování klasickým způsobem vyrendrovaných snímků pomocí lokálních modelů umělé inteligence, a to v reálném čase). Projekt není nijak spojen se společností NVIDIA, je pouze pro OS Windows a natrénované váhy modelu si uživatelé musí obstarat sami. Zdrojový kód je k dispozici na GitHubu, pod licencí MIT s výjimkou pro komponenty třetích stran.
Společnost Cloudflare představila Clef a Clef-Flash, open-source rozhodovací modely určené pro rychlou a konzistentní klasifikaci vstupů. Na rozdíl od klasických LLM vracejí tyto modely deterministické striktně typované strukturované odpovědi s exaktními pravděpodobnostmi, tedy odpovědi ve stylu přelomového modelu Jev.
… více »Byla vydána beta verze Ubuntu 26.10 s kódovým názvem Stonking Stingray. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.10 mělo vyjít 15. října 2026.
Byla vydána verze 1.99.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.
Od 13. do 15. října proběhne v Praze OpenSSL Conference 2026. Na YouTube lze zhlédnout videozáznamy přednášek z loňského roku.
Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 2 GB varianty o 12,50 dolarů. Nově 2 GB Raspberry Pi 4 stojí 67,50 dolarů a 2 GB Raspberry Pi 5 stojí 77,50 dolarů.
OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 26.09. Vedle Flatpaku také s podporou Snapu.
Edison Design Group po více než 30 letech zveřejnil zdrojový kód svého EDG C/C++ front-endu. Ten proslul širokou podporou standardů C++ a kompatibilitou s dialekty kompilátorů od Microsoftu, GNU, Clangu, Sunu a dokonce i s prehistorickým cfrontem. EDG byl použit například v kompilátoru Intel C++ Classic, kompilátoru NVCC od firmy NVIDIA pro platformu CUDA nebo v našeptávači kódu IntelliSense v produktech společnosti Microsoft. Projekt nyní spravuje organizace The C++ Alliance a kód je dostupný pod licencí Apache 2.0, doplněnou o výjimky projektu LLVM.
Ř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: