Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.
Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční
… více »Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.
Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.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.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.
mkfifo mypipe; cat Copy/sport.txt | tail -n 5 | cut -d"," -f1,2 >mypipe& [[ $(cat lesson4_task4.txt) == "ano" ]] && tr -s "[:upper:]" "[:lower:]" <mypipe >/dev/stdout || tr -s "[:lower:]" "[:upper:]" <mypipe >/dev/stdout; rm mypipea chtěl jsem se zeptat jak dosáhnout stejného výsledku bez pojmenované roury nebo dočasného souboru. Případně jak docílit toho aby přesměrování do souboru, teď do /dev/stdout se použilo jen jednou. Předem děkuji za odpovědi.
tail -n 5 < Copy/sport.txt | cut -d"," -f1,2 | ( if [ `cat lesson4_task4.txt` == "ano" ] then tr -s "[:upper:]" "[:lower:]" else tr -s "[:lower:]" "[:upper:]" fi )?
tail -n 5 Copy/sport.txt | cut -d"," -f1,2 |
( [ $(cat lesson4_task4.txt) == "ano" ]
&& tr -s "[:upper:]" "[:lower:]"
|| tr -s "[:lower:]" "[:upper:]" ) >/dev/stdout
V noci jsem byl už zblblej pipu jsem nadužival viz cat Copy/sport.txt, přitom tail umí číst
normálně ze souboru.
Mám i vyřešený výstup do souboru, /dev/stdout je tam teď jen pro účely ladění.
Ale musím uznat, že tvoje verze s if - else je čitelnější.
Děkuji za pomoc. A já si budu muset nastudovat rozdíl mezi () a $()
A já si budu muset nastudovat rozdíl mezi () a $()
(list) list is executed in a subshell environment (...). Variable assignments and builtin commands that affect the shell's environment do not remain in effect after the command completes. The return status is the exit status of list.
Command substitution allows the output of a command to replace the command name. There are two forms:
$(command)
or
`command`
Bash performs the expansion by executing command in a subshell environment and replacing the command substitution with the standard output of the
command
tail -n 5 Copy/sport.txt | cut -d"," -f1,2 |
( [ $(cat lesson4_task4.txt) == "ano" ]
&& tr -s "[:upper:]" "[:lower:]"
|| ( [ $(cat lesson4_task4.txt) == "ne" ]
&& tr -s "[:lower:]" "[:upper:]"
|| echo "CHYBA"
)
) >/dev/stdout
nebo čitelněji s if dle rastose:
tail -n 5 Copy/sport.txt | cut -d"," -f1,2 |
( if [ $(cat lesson4_task4.txt) == "ano" ] ; then
tr -s "[:upper:]" "[:lower:]"
else
if [ $(cat lesson4_task4.txt) == "ne" ] ; then
tr -s "[:lower:]" "[:upper:]"
else echo "CHYBA"
fi
fi
) >/dev/stdout
sport="$(tail -n5 Copy/sport.txt | cut -d"," -f1,2)"
lesson="$(<lesson4_task4.txt)"
[[ $lesson == ano ]] && echo "${sport,,}" || ([[ $lesson == ne ]] && echo "${sport^^}" || echo "CHYBA")
A Bash 3 má kdo? Národní technické muzeum?
Tiskni
Sdílej: