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 00:22 | Pozvánky

Richard Stallman, zakladatel hnutí svobodného softwaru, projektu GNU a Free Software Foundation, vystoupí 6. června od 17:30 v Brně v kině Scala se svou přednáškou Free Software Movement and GNU/Linux Operating System. Přednášku organizuje Ústav práva a technologií Masarykovy univerzity.

Ladislav Hagara | Komentářů: 31
17.5. 21:11 | IT novinky

Hewlett Packard Enterprise (NYSE:HPE) kupuje společnost Cray Inc. (Nasdaq:CRAY) za přibližně 1,3 miliardy dolarů. Výrobce superpočítačů Cray má v seznamu 500 nejvýkonnějších superpočítačů na světě TOP500 aktuálně 52 superpočítačů. S Intelem staví další superpočítač Aurora. S AMD staví superpočítač za 600 milionů dolarů s názvem Frontier. Ten by měl v roce 2021 převzít vedení v TOP500.

Ladislav Hagara | Komentářů: 3
17.5. 19:44 | Zajímavý projekt

Ondřej Kokešpodcastu Dataři představuje projekt Česká otevřená data. Jedná se o sadu skriptů, které stahují především finanční data poskytovaná státními institucemi. V rozhovoru vysvětluje, že ke správné interpretaci dat jsou potřeba doménové znalosti, a popisuje zkušenosti, jak získat dokumentaci, která u datových sad často chybí.

Fluttershy, yay! | Komentářů: 0
17.5. 10:11 | Zajímavý projekt

Nadace XPRIZE vyhlásila před pěti lety soutěž Global Learning XPRIZE o nejlepší open source výukový program nebo inovativní způsob výuky, který umožní dětem v rozvojových zemích samostatně se naučit číst, psát a počítat. Tento týden byly vyhlášeny výsledky (YouTube). O první místo a 10 milionů dolarů se podělili Kitkit School a onebillion. Pět vítězných výukových programů bylo zveřejněno na GitHubu.

Ladislav Hagara | Komentářů: 19
17.5. 06:00 | Komunita

Dalších šest produktů od společnosti ThinkPenguin získalo certifikaci RYF (Respects Your Freedom, Respektuje vaši svobodu) udělovanou Nadací pro svobodný software (FSF). Certifikaci RYF má nově například také převodník z USB na paralelní port (LPT). Certifikace RYF byla představena v říjnu 2012.

Ladislav Hagara | Komentářů: 9
16.5. 23:11 | Pozvánky

Dnes je Světový den přístupnosti, anglicky Global Accessibility Awareness Day (GAAD, Wikipedie). Světový den přístupnosti vznikl v roce 2012. Jeho smyslem je šířit osvětu v této oblasti mezi širokou veřejností a motivovat ji k diskusím, přemýšlení a chuti dozvědět se o tématice přístupnosti webu, dokumentů, software, mobilních aplikací, asistivních technologiích či potřebách lidí s nejrůznějším postižením něco nového. O víkendu

… více »
Ladislav Hagara | Komentářů: 0
16.5. 19:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 164. brněnský sraz, který proběhne v pátek 17. května od 18:00 v restauraci Přístav u Vodů u Brněnské přehrady aneb v hantecu u Prýglu.

Ladislav Hagara | Komentářů: 2
16.5. 07:00 | Nová verze

Byla vydána nová major verze 9.0 svobodného systému pro řízení přístupu k síti (NAC) PacketFence (Wikipedie). Přehled novinek v oznámení o vydání. Pro uživatele předchozích verzí jsou k dispozici poznámky k aktualizaci.

Ladislav Hagara | Komentářů: 2
16.5. 06:00 | Bezpečnostní upozornění

K názvům Microarchitectural Data Sampling (MDS) a ZombieLoad Attack aktuálních bezpečnostních chyb v procesorech Intel přibyly nové názvy RIDL a Fallout. Na stránce RIDL and Fallout: MDS attacks jsou k dispozici další videoukázky, technické informace nebo i nástroj pro otestování, zda je konkrétní systém zranitelný. Ke stránkám ZombieLoad Attack, RIDL a Fallout lze přistupovat ze stránky CPU.fail.

Ladislav Hagara | Komentářů: 17
15.5. 18:22 | Zajímavý článek

V Edici CZ.NIC vyšla kniha Porty, bajty, osmibity od Martina Malého. Koupit ji lze tištěnou nebo zdarma stáhnout ve formátech PDF (3,6 MB), EPUB (10,8 MB ) a MOBI (28,7 MB). Jedná se o volné pokračování knihy Hradla, volty, jednočipy. Další informace ke knihám, odkazy na zdrojové kódy nebo errata na webových stránkách Porty, bajty, osmibity a Hradla, volty, jednočipy.

Ladislav Hagara | Komentářů: 25
GPU kterého výrobce aktuálně preferujete pro provoz Linuxu?
 (48%)
 (25%)
 (25%)
 (2%)
Celkem 298 hlasů
 Komentářů: 26, poslední dnes 08:36
Rozcestník

Dotaz: rename - syntax

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

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

Řešení 1× (Petr (tazatel))
xkucf03 avatar 14.5. 14:44 xkucf03 | skóre: 47 | 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, Relational pipes (AWK)
Petr avatar 14.5. 15:07 Petr | skóre: 23 | blog: Zápisy - poradna
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: 47 | 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, Relational pipes (AWK)
Petr avatar 14.5. 16:06 Petr | skóre: 23 | blog: Zápisy - poradna
Rozbalit Rozbalit vše Re: rename - syntax

Super. Dík

k3dAR avatar 14.5. 17:38 k3dAR | skóre: 54
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: 54
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: 23 | blog: Zápisy - poradna
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: 54
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: 54
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: 23 | blog: Zápisy - poradna
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: 54
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: 23 | blog: Zápisy - poradna
Rozbalit Rozbalit vše Re: rename - syntax

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

Petr avatar 14.5. 20:18 Petr | skóre: 23 | blog: Zápisy - poradna
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: 47 | 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, Relational pipes (AWK)
Petr avatar 14.5. 22:17 Petr | skóre: 23 | blog: Zápisy - poradna
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.