abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 15:44 | Nová verze

Byla vydána verze 2.4 svobodného nelineárního video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Zdůraznit lze přechod na Python 3.

Ladislav Hagara | Komentářů: 0
včera 07:00 | Nová verze

Vyšel toolkit Qt verze 5.14. Změny se týkají především Qt Quick, jeho odstínění od konkrétních nízkoúrovňových grafických API a zlepšení výkonu zvláště ve 3D. Začíná tím proces postupných příprav na Qt 6. Příští vydání (5.15) bude s dlouhodobou podporou. Aktuálně také vyšlo vývojové prostředí Qt Creator 4.11 – vedle oprav chyb a řady zjednodušení konfigurace přidává mj. experimentální podporu WebAssembly.

Fluttershy, yay! | Komentářů: 4
včera 06:00 | Nová verze

Byla vydána nová verze 1.41 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.41 bylo vydáno také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

Ladislav Hagara | Komentářů: 0
12.12. 23:55 | IT novinky

J2EE, nověji Java EE a nejnověji Jakarta EE, tj. Java pro vývoj a provoz podnikových aplikací a informačních systémů (Java Platform, Enterprise Edition), slaví 20 let. První verze J2EE 1.2 byla vydána 12. prosince 1999.

Ladislav Hagara | Komentářů: 0
12.12. 22:00 | Nová verze

V kancelářích společnosti NGINX, tj. společnosti stojící za stejnojmenným webovým serverem a reverzní proxy, v Moskvě proběhla policejní razie. Na NGINX si nárokuje práva společnost Rambler. Igor Sysoev, zakladatel společnosti NGINX, ve společnosti Rambler pracoval v letech 2000 až 2011. V březnu letošního roku byla společnost NGINX prodána společnosti F5 Networks za 670 milionů dolarů.

Ladislav Hagara | Komentářů: 13
12.12. 18:44 | Nová verze

Vyšel Vim 8.2. Jedná se převážně o opravnou verzi tohoto textového editoru, ale mezi několika novými funkcemi je také možnost používat vyskakovací okna v uživatelském rozhraní, což využijí zvláště vývojáři doplňků pro dialogová okna či okna s nápovědou, napovídáním atp. Ukázkou je hra killersheep.

Fluttershy, yay! | Komentářů: 1
12.12. 17:44 | Nová verze

Byla vydána nová verze 19.12.0 KDE Aplikací (KDE Applications). Přehled novinek i s náhledy v oficiálním oznámení, kompletním seznamu změn a na stránce s dalšími informacemi.

Ladislav Hagara | Komentářů: 1
12.12. 15:55 | Zajímavý článek

Nezisková organizace Electronic Frontier Foundation vydala obsáhlý článek vysvětlující plošné techniky online sledování používané k hromadění dat korporacemi, shrnuje další využití těchto dat a naznačuje, jak se tomu bránit: technicky a legislativně.

Fluttershy, yay! | Komentářů: 4
12.12. 14:32 | Pozvánky

Ve středu, 18. prosince od 17:00 do 20:00, se uskuteční šestý Avast C++ Meetup. Přednášet bude Timur Doumler (člen ISO C++ komise) na téma „Type punning in modern C++“ a Chandler Carruth (Google, LLVM, člen ISO C++ komise) na téma „Programming Language Design for Performance Critical Software“. Registrace zdarma na meetup.com. Video stream bude dostupný v YouTube playlistu meetupu.

David Watzke | Komentářů: 2
12.12. 00:11 | Zajímavý článek

Daniel Vetter se v příspěvku Upstream Graphics: Too Little, Too Late (Grafika v upstreamu: příliš málo, příliš pozdě) na svém blogu věnuje podpoře a problémům grafiky v upstream Linuxu. Jedná se o souhrn jeho stejnojmenné přednášky na Linux Plumbers Conference (videozáznam, pdf).

Ladislav Hagara | Komentářů: 0
Kolik jste vystřídali distribucí Linuxu? (uvažujte distribuce, které jste používali aspoň měsíc)
 (3%)
 (74%)
 (18%)
 (3%)
 (3%)
Celkem 68 hlasů
 Komentářů: 8, poslední dnes 13:16
Rozcestník

www.AutoDoc.Cz

Dotaz: rename - syntax

Petr avatar 14.5. 14:20 Petr | skóre: 27 | blog: Zápisy - poradna | Brno
rename - syntax
Přečteno: 490×

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:


Odpovědi

xkucf03 avatar 14.5. 14:44 xkucf03 | skóre: 48 | blog: xkucf03
Rozbalit Rozbalit vše Re: rename - syntax

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.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Petr avatar 14.5. 15:07 Petr | skóre: 27 | blog: Zápisy - poradna | Brno
Rozbalit Rozbalit vše Re: rename - syntax

Ó 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ě.

xkucf03 avatar 14.5. 15:30 xkucf03 | skóre: 48 | blog: xkucf03
Rozbalit Rozbalit vše Re: rename - syntax

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.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Petr avatar 14.5. 16:06 Petr | skóre: 27 | blog: Zápisy - poradna | Brno
Rozbalit Rozbalit vše Re: rename - syntax

Super. Dík

k3dAR avatar 14.5. 17:38 k3dAR | skóre: 57
Rozbalit Rozbalit vše Re: rename - syntax
pripadne zdlouhaveji, ale prehledneji :-)
for soubor in *KJV*; do mv "${soubor}" "$(echo ${soubor} | sed 's/.*Genesis0/kjv_01_gn_/')"; done
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 14.5. 17:39 k3dAR | skóre: 57
Rozbalit Rozbalit vše Re: rename - syntax
barvy sezrali _ ;-)
for soubor in *KJV*; do mv "${soubor}" "$(echo ${soubor} | sed 's/.*Genesis0/kjv_01_gn_/')"; done
porad nemam telo, ale uz mam hlavu... nobody
Petr avatar 14.5. 19:39 Petr | skóre: 27 | blog: Zápisy - poradna | Brno
Rozbalit Rozbalit vše Re: rename - syntax

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ář?

k3dAR avatar 14.5. 20:08 k3dAR | skóre: 57
Rozbalit Rozbalit vše Re: rename - syntax
cd adresar
rename 'y/a-z/A-Z/' *
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 14.5. 20:13 k3dAR | skóre: 57
Rozbalit Rozbalit vše Re: rename - syntax
nebo po vzoru predchozi reakce se smyckou:
cd adresar
for soubor in *; do mv "${soubor}" "${soubor^^}"; done
bash umoznuje obsah promene prevest na velke pridanim ^^ za nazev promene, nebo na male pridanim ,,
priklad:
$ priklad="RuZnEvElKaPiSmEnA"

$ echo ${priklad^^}
RUZNEVELKAPISMENA

$ echo ${priklad,,}
ruznevelkapismena
porad nemam telo, ale uz mam hlavu... nobody
Petr avatar 14.5. 20:29 Petr | skóre: 27 | blog: Zápisy - poradna | Brno
Rozbalit Rozbalit vše Re: rename - syntax
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.

k3dAR avatar 14.5. 21:42 k3dAR | skóre: 57
Rozbalit Rozbalit vše Re: rename - syntax
tak pak pridat nad to dalsi smyscku co proleze adresare
cd hlavniadresar
for adresar in *; do cd ${adresar}; for soubor in *; do mv "${soubor}" "${soubor^^}"; done; cd ..; done
nebo s tim rename
cd hlavniadresar
for adresar in *; do cd ${adresar}; rename 'y/a-z/A-Z/' *; cd ..; done
nicmene to uz reseni pres find zacina byt cistejsi/prehlednejsi :-)
(me priklady mimojine pocitaji ze v hlavnimadresari jsou jen podadresare a v nich jsou jen soubory)
porad nemam telo, ale uz mam hlavu... nobody
Petr avatar 14.5. 22:18 Petr | skóre: 27 | blog: Zápisy - poradna | Brno
Rozbalit Rozbalit vše Re: rename - syntax

Dík za všechno. Zítra se na to podívám.

Petr avatar 9.6. 21:30 Petr | skóre: 27 | blog: Zápisy - poradna | Brno
Rozbalit Rozbalit vše Re: rename - syntax

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?

Petr avatar 14.5. 20:18 Petr | skóre: 27 | blog: Zápisy - poradna | Brno
Rozbalit Rozbalit vše Re: rename - syntax

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.

xkucf03 avatar 14.5. 20:19 xkucf03 | skóre: 48 | blog: xkucf03
Rozbalit Rozbalit vše Re: rename - syntax

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.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Petr avatar 14.5. 22:17 Petr | skóre: 27 | blog: Zápisy - poradna | Brno
Rozbalit Rozbalit vše Re: rename - syntax

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.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.