Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.
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.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
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: