Byla vydána nová verze 2.50.0 distribuovaného systému správy verzí Git. Přispělo 98 vývojářů, z toho 35 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Infrastrukturu pro chatovací aplikaci Telegram provozuje člověk s vazbami na ruské zpravodajské služby. Upozorňují na to investigativní novináři z redakce iStories. „Vedneev dodává služby ruskému státu včetně jeho jaderného institutu nebo zpravodajské službě FSB,“ říká v podcastu Antivirus novinář Jan Cibulka. Uživatelům, kteří si chtějí své informace chránit, doporučuje Telegram vůbec nepoužívat, a raději zvolit jednu z alternativ, WhatsApp nebo Signal.
The Trump Organization spustila ve Spojených státech mobilní síť Trump Mobile s neomezeným tarifem The 47 Plan za 47,45 dolarů měsíčně a představila vlastní značku telefonů The T1 Phone s Androidem za 499 dolarů.
Vývojáři KiCadu se na svém blogu rozepsali o problémech KiCadu v desktopových prostředích nad Waylandem. KiCad běží, ale s významnými omezeními a problémy, které podstatně zhoršují uživatelský komfort a vývojáři je nedokážou vyřešit na úrovni KiCadu. Pro profesionální používání doporučují desktopová prostředí nad X11.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Byla vydána (𝕏) nová verze 2025.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení na blogu.
Dánské ministerstvo pro digitální záležitosti má v plánu přejít na Linux a LibreOffice [It's FOSS News].
V úterý Google vydal Android 16. Zdrojové kódy jsou k dispozici na AOSP (Android Open Source Project). Chybí (zatím?) ale zdrojové kódy specifické pro telefony Pixel od Googlu. Projekty jako CalyxOS a GrapheneOS řeší, jak tyto telefony nadále podporovat. Nejistá je podpora budoucích Pixelů. Souvisí to s hrozícím rozdělením Googlu (Google, Chrome, Android)?
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.101 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.101 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
V Brně na FIT VUT probíhá třídenní open source komunitní konference DevConf.CZ 2025. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Řešení dotazu:
sffs/ asdasd/gfdsfsdf/asdsadas/ gdgdfg/asdsadasd/fsddgfd/asdsadasds/fsdfdff/sdfdfsdfg/
$ echo gdgdfg/asdsadasd/fsddgfd/asdsadasds/fsdfdff/sdfdfsdfg/ | rev | cut -d / -f 3- | rev gdgdfg/asdsadasd/fsddgfd/asdsadasds/fsdfdff
Jednoduchý příklad:
shopt -s extglob cesta='asdasd/gfdsfsdf/asdsadas/' echo "${cesta%%*([^/])/}"
Podrobněji k tématu:
cesty=( [0]='sffs/' [1]='asdasd/gfdsfsdf/asdsadas/' [2]='gdgdfg/asdsadasd/fsddgfd/' [2]+='asdsadasds/fsdfdff/sdfdfsdfg/' ) # Toto je jen pro jistotu; bývá to zapnuté: shopt -s extglob # Pouze výpis pozměněných cest: for cesta in "${cesty[@]}"; do # První možnost: echo "'${cesta}' -> '${cesta%%*([^/])/}'" # Druhá možnost: echo "'${cesta}' -> '${cesta/%*([^\/])\/}'" done # Transformace pole cest do nových polí: bez_konce_1=("${cesty[@]%%*([^/])/}") bez_konce_2=("${cesty[@]/%*([^\/])\/}") # Výpis pro kontrolu: for index in "${!cesty[@]}"; do echo "'${cesty[index]}' -> '${bez_konce_1[index]}'" echo "'${cesty[index]}' -> '${bez_konce_2[index]}'" done
Nebo pokud je v tom cvičení povolený dirname
tak takhle:
shopt -s extglob cesta='asdasd/gfdsfsdf/asdsadas/' echo "$(dirname "${cesta}")/"
dirname
se dá taky použít s těmi poli a dalšími triky výše. Ale pozor, dirname
nemusí nutně každý považovat za (čistý) Bash, takže záleží na zadání.
extglob
je tam teď samozřejmě na houby — copy&paste chyba.
cesta='asdasd/gfdsfsdf/asdsadas/' dirname "${cesta}"
Ano, s lomítkem je to složité, zejména když přijde na to, jaký speciální význam mu dává třeba rsync
.
Tady jsem vycházel z toho, že zadání prostě vyžaduje lomítko.
Ne, dirname
.
echo "${string%/*/}"
Plus /
na konec…
Tiskni
Sdílej: