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 11:44 | Zajímavý článek

Arsenij Zinčenko v zápisku sdílí technické poznámky o tom, co je to „klíčenka“ (keyring) v Linuxu a v desktopovém prostředí, jak to souvisí se Secret Service a D-Bus, včetně příkladů. Význam těchto služeb spočívá v uložení a následném poskytování autentizačních údajů.

Fluttershy, yay! | Komentářů: 0
7.12. 01:44 | Nová verze

V únoru 2014 bylo hlasováním rozhodnuto, že výchozím init systémem v Debianu je systemd. V listopadu stejného roku bylo hlasováním rozhodnuto, že o podpoře dalších init systémů v Debianu není celoprojektové hlasování nutné. Po pěti letech už ale hlasování o init systémech a systemd nutné je. Vybírá se z 8 možností. Výsledek hlasování bude zveřejněn po 27. prosinci.

Ladislav Hagara | Komentářů: 27
7.12. 00:11 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot, se rozhodl, že svůj komiks vydá také knižně a ve vlastní režii. Komiks již knižně vyšel ve francouzštině ve vydavatelství Glénat. David Revoy jej vydá v angličtině a použije pouze svobodný software. O své zkušenosti se dělí ve dvou příspěvcích na svém blogu. Z plánovaných dvou týdnů práce se staly dva měsíce. Vydání před Vánocemi se nestihne. Kontrolní výtisk má příliš jasné barvy, obrázky v knihách od Glénatu vypadají mnohem lépe, …

Ladislav Hagara | Komentářů: 1
6.12. 20:44 | IT novinky

Mezinárodní konsorcium W3C (World Wide Web Consortium) vydalo verzi 1.0 základní specifikace WebAssembly a po HTML, CSS a JavaScriptu prohlásilo WebAssembly za čtvrtý oficiální jazyk pro web.

Ladislav Hagara | Komentářů: 14
6.12. 13:33 | Komunita

Hlasování o obrázku v okně O Inkscapu 1.0 pokračuje druhým kolem. Ze 124 obrázků postoupilo do finálního hlasování 5 s nejvíce hlasy. Výsledek hlasování bude zveřejněn po jeho ukončení, tj. po 15. prosinci.

Ladislav Hagara | Komentářů: 8
6.12. 02:11 | IT novinky

Společnost Purism představila mobilní telefon Librem 5 USA. Jedná se o telefon Librem 5 vyráběný v USA. Předobjednat jej lze za 1 999 dolarů. Librem 5 lze předobjednat za 699 dolarů.

Ladislav Hagara | Komentářů: 37
5.12. 22:22 | Nová verze

Příspěvek na blogu organizace Electronic Frontier Foundation (EFF) informuje, že Certbot, tj. oficiální klient certifikační autority Let’s Encrypt, dospěl do nové stabilní verze 1.0. Oficiálně tak byla ukončena beta fáze jeho vývoje. Certbot byl představen v květnu 2016.

Ladislav Hagara | Komentářů: 0
5.12. 15:55 | Zajímavý software

Mozilla vydala novou verzi 0.6 svobodného softwaru DeepSpeech pro převod řeči na text. Přehled novinek v příspěvku na blogu Mozilla Hacks.

Ladislav Hagara | Komentářů: 4
4.12. 17:33 | Zajímavý projekt

Dnes měl na YouTube premiéru krátký sci-fi film SKYWATCH. Colin Levy na něm strávil téměř 6 let. Pro vytvoření 3D grafiky byl vybrán Blender. Film byl z části financován z kampaně na Kickstarteru.

Ladislav Hagara | Komentářů: 3
4.12. 05:55 | Zajímavý software

Netflix uvolnil framework pro datovou vědu Metaflow jako open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache 2.0.

Ladislav Hagara | Komentářů: 44
Jaké hodinky nosíte (nejčastěji)?
 (23%)
 (6%)
 (17%)
 (54%)
Celkem 520 hlasů
 Komentářů: 135, poslední 6.12. 20:54
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.