Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 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.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
Zdravím,
protřebuji poradit s tím, jak mám pomocí programu "rename" přejmenovat
01003 0_KJV_Bible-Genesis001.mp3 01015 0_KJV_Bible-Genesis002.mp3 01022 0_KJV_Bible-Genesis003.mp3
na
kjv_01_gn_01.mp3 kjv_01_gn_02.mp3 kjv_01_gn_03.mp3
Ještě dodám, že v terminálu se stávající názvy souborů zobrazují (zřejmě kvůli mezeře) s "úvozovkami":
'01003 0_KJV_Bible-Genesis001.mp3' '01015 0_KJV_Bible-Genesis002.mp3' '01022 0_KJV_Bible-Genesis003.mp3'
Poraďte prosím.
Řešení dotazu:
Zkusil jsem tohle:
$ touch '01003 0_KJV_Bible-Genesis001.mp3' '01015 0_KJV_Bible-Genesis002.mp3' '01022 0_KJV_Bible-Genesis003.mp3' $ ls -1 '01003 0_KJV_Bible-Genesis001.mp3' '01015 0_KJV_Bible-Genesis002.mp3' '01022 0_KJV_Bible-Genesis003.mp3' $ rename 's/(\d\d).*Genesis0(\d\d)(.*)/kjv_$1_gn_$2$3/' * $ ls -1 kjv_01_gn_01.mp3 kjv_01_gn_02.mp3 kjv_01_gn_03.mp3
Bere to první dvě číslice a pak poslední dvě před příponou.
Ó děkuji. To je přesně ono.
Nějaké soubory jsem přejmenovával už včera. Bylo to ale podstatně jednodušší a tak jsem si vystačil s Googlem. Dnes mi už ale Google nepomohl. Man page je dost stručná a tak nevím, kde si to nastudovat. Když jsem na netu hledal nějaké příklady použití, pořád jsem narážel na zmínky o Perlu. Jedná se tedy o syntaxi Perlu? Pokud víš, poraď prosím něco (web), kde by se to dalo nastudovat. A nejlépe v češtině.
Jsou to regulární výrazy, nějaký článek je třeba tady: Regulární výrazy nebo na Wikibooks: Regular Expressions.
Text v normálních (závorkách) je tzv. skupina – ty jsou číslované od 1 a dá se na ně odkazovat při nahrazování – buď pomocí toho $1
nebo v některých nástrojích \1
. Skupina 0 je pak celý text, který vyhovoval výrazu.
Hranaté [závorky] jsou výčet. * a + je počet opakování předchozího znaku (nebo znaků z hranaté závorky), buď 0..n nebo 1..n. Nebo pomocí {m,n} jde říct počet opakování od/do. Pak se hodně používají ty \d, \s nebo [0-9], [a-z0-9] atd. to už si dohledáš v těch článcích.
Super. Dík
for soubor in *KJV*; do mv "${soubor}" "$(echo ${soubor} | sed 's/.*Genesis0/kjv_01_gn_/')"; done
Ještě mám jednu otázku. Pro změnu malých písmen na velká slouží:
rename 'y/a-z/A-Z/'
Jak to ale použít rekurzivně pro adresář?
cd adresar rename 'y/a-z/A-Z/' *
cd adresar for soubor in *; do mv "${soubor}" "${soubor^^}"; donebash umoznuje obsah promene prevest na velke pridanim ^^ za nazev promene, nebo na male pridanim ,,
$ priklad="RuZnEvElKaPiSmEnA" $ echo ${priklad^^} RUZNEVELKAPISMENA $ echo ${priklad,,} ruznevelkapismena
nebo po vzoru predchozi reakce se smyckou:cd adresar for soubor in *; do mv "${soubor}" "${soubor^^}"; done
Ne. Situace je totožná. Jsem v adresáři "bk". V něm je 66 podadresářů a v každém z nich jsou soubory. Když tedy v tom adresáři bk zadám ten příkaz, tak se změní jen názvy těch podadresářů, ale názvy souborů v nich už ne.
cd hlavniadresar for adresar in *; do cd ${adresar}; for soubor in *; do mv "${soubor}" "${soubor^^}"; done; cd ..; donenebo s tim rename
cd hlavniadresar for adresar in *; do cd ${adresar}; rename 'y/a-z/A-Z/' *; cd ..; donenicmene to uz reseni pres find zacina byt cistejsi/prehlednejsi
Dík za všechno. Zítra se na to podívám.
Tak jsem se k tomu dostal až teď. Zkusil jsem:
cd hlavniadresar for adresar in *; do cd ${adresar}; rename 'y/a-z/A-Z/' *; cd ..; done
A tohle už zafungovalo.
Díky
PS: Tu smyčku chápu. To je fikaný. Akorát nechápu, proč jsi v tom příkazu použil slovo "adresar"?
Místo něj mohlo být libovolné slovo?
Ne k3ďo. Přesně tohle jsem taky zkoušel a výsledek je ten, že se přejmenují jen adresáře v adresáři, kde se nacházím. Ale soubory v nich ne.
Jakýkoli příkaz můžeš pustit nad soubory rekurzivně pomocí:
find -print0 | xargs -0 -n1 echo
Akorát místo echo
dáš svůj příkaz a ono ho to spustí pro každý nalezený soubor s parametrem cesta-k-souboru.
Find umí různě filtrovat, např. -type f
najde jen soubory a vynechá adresáře.
No ten find jsem právě včera používal, ale nevěděl jsem, jak jej do příkazu zakomponovat, aby se to dělo rekurzivně. Každopádně díky. Zítra to zkusím a když tak ještě napíšu.
Tiskni
Sdílej: