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 16:33 | Komunita

Google zveřejnil seznam 200 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se studenti přihlašují od 16. do 31. března. Vydělat si mohou od 3 000 do 6 600 dolarů. V Česku a na Slovensku 3 600 dolarů. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.

Ladislav Hagara | Komentářů: 0
včera 15:55 | IT novinky

Ve věku 74 let zemřel Lawrence Tesler. V 70. letech pracoval v Xerox PARC a posléze odešel do Apple. Zabýval se především zjednodušováním uživatelských rozhraní, byl odpůrcem modality a přispěl k prosazení moderního způsobu označování a kopírování textu – myší a klávesovými zkratkami (kombinace s XCV) – v raných Apple Human Interface Guidelines. Dále se podílel např. na vývoji Smalltalku a souvisejícího přenosného počítače Xerox NoteTaker nebo později PDA Apple Newton.

Fluttershy, yay! | Komentářů: 1
včera 13:11 | Zajímavý článek

Aktuální příspěvek What is Mobile PureOS? na stránkách společnosti Purism je věnován operačnímu systému Mobile PureOS, tj. PureOS pro mobilní zařízení a především pro telefon Librem 5. Víceméně se jedná o stabilní Debian s GNOME doplněný o balíčky phosh, phoc, libhandy, Calls, Chats a další.

Ladislav Hagara | Komentářů: 0
20.2. 19:33 | Zajímavý článek

Jozef Mlich se v příspěvku PinePhone je nové OpenMoko na svém blogu věnuje svému novému linuxovému chytrému telefonu PinePhone v edici BraveHeart: "Momentálně se pocity z tohohle zařízení dají přirovnat k BrokenMoku. Většina věcí prostě nefunguje. Minimálně ne sama od sebe. Začít se dá už u samotného hardware, kde existuje wiki stránka popisující nedostatky".

Ladislav Hagara | Komentářů: 15
20.2. 10:00 | Zajímavý projekt

Justine Haupt aktualizovala svůj open source mobilní telefon s rotační číselnicí a zveřejnila kompletní dokumentaci, vlastní kód, schémata i STL soubory pro 3D tisk. Desku plošných spojů případně i vytištěný obal lze koupit v jejím obchodu.

Ladislav Hagara | Komentářů: 34
20.2. 06:00 | IT novinky

Otevřená certifikační autorita Let's Encrypt v příspěvku na svém blogu informuje, že žádosti o vystavení certifikátů nově validuje z několika míst současně (Multi-Perspective Validation). Další informace v diskusním fóru.

Ladislav Hagara | Komentářů: 10
19.2. 13:55 | Nová verze

Byla vydána verze 15.0 na Debianu založené linuxové distribuce Untangle NG Firewall. Přehled novinek v poznámkách k vydání a ve videu na YouTube. Vyzkoušet lze (zatím neaktualizované) demo webového rozhraní.

Ladislav Hagara | Komentářů: 0
19.2. 12:11 | Pozvánky

Letošní ročník konference LinuxDays se uskuteční o víkendu 3. a 4. října, opět se potkáme v pražských Dejvicích na FIT ČVUT. Také během devátého ročníku nás budou čekat desítky přednášek, workshopy, stánky a spousta doprovodného programu. Aktuální dění můžete sledovat na Twitteru nebo Facebooku, přidat se můžete také do telegramové diskusní skupiny.

Petr Krčmář | Komentářů: 7
19.2. 10:22 | Zajímavý článek

Alexander Popov se v příspěvku na svém blogu podrobně věnuje možnostem zneužití bezpečnostní chyby CVE-2019-18683 v linuxovém podsystému V4L2. Videoukázka eskalace práv na YouTube. Chyba byla v upstreamu opravena v listopadu loňského roku. Alexander Popov se chybě věnoval ve své přednášce (pdf) na konferenci OffensiveCon 2020.

Ladislav Hagara | Komentářů: 0
19.2. 06:00 | Nová verze

Byla vydána nová verze 20.02.17 svobodného multiplatformního video editoru Shotcut (Wikipedie). Přehled novinek v oznámení o vydání. Využíván je MLT Multimedia Framework 6.20.0 a WebVfx 1.2.0. Nejnovější Shotcut je k dispozici také ve formátech AppImage, Flatpak i Snap.

Ladislav Hagara | Komentářů: 2
Vydržela vám novoroční předsevzetí?
 (9%)
 (6%)
 (3%)
 (82%)
Celkem 173 hlasů
 Komentářů: 0
Rozcestník

www.AutoDoc.Cz

Dotaz: rename - syntax

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

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.2019 14:44 xkucf03 | skóre: 49 | 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.2019 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.2019 15:30 xkucf03 | skóre: 49 | 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.2019 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.2019 17:38 k3dAR | skóre: 58
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.2019 17:39 k3dAR | skóre: 58
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.2019 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.2019 20:08 k3dAR | skóre: 58
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.2019 20:13 k3dAR | skóre: 58
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.2019 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.2019 21:42 k3dAR | skóre: 58
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.2019 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.2019 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.2019 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.2019 20:19 xkucf03 | skóre: 49 | 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.2019 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.