abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 0
    dnes 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 21
    včera 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 13
    včera 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    24.4. 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 14
    KDE Plasma 6
     (73%)
     (9%)
     (2%)
     (16%)
    Celkem 789 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: hromadné přejmenování

    21.8.2003 21:04 Jiří Masák
    hromadné přejmenování
    Přečteno: 2725×
    Nazdar lidi!

    Jakým příkazem by se dalo udělat hromadné přejmenování souborů? Omylem jsem udelal MP3 s koncovkou *.OGG a potrebuji je hromadne prejmenovat na *.MP3. Zkousel jsem jen:

    mv *.OGG *.MP3, ale to moc nefunguje.

    Odpovědi

    21.8.2003 21:23 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše hromadné přejmenováni
    nejprve, proč nefunguje mv *.ogg *.mp3: hvězdičky expanduje shell, nikoli každý příkaz po svém -- takže mv dostane už expandovaný seznam souborů, a důsledky jsou jasné... už tu několikát proběhl flamewar, co je ,nejjednodušší`... např. ls *.ogg | perl -nle '$o=$_;rename$o,$_ if s/\.ogg$/.mp3/;'
    21.8.2003 22:34 Beda
    Rozbalit Rozbalit vše hromadné přejmenováni
    cooo??? yeti nemel bys chodit tak casto domu na pokec s cinanama, pak ti neni rozumet ;) ale jo kdyz to funguje...
    21.8.2003 22:53 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše hromadné přejmenováni
    já mám osobně příkaz pmv, kterému se zadají regex a replacement... a výsledek znáš. podobných skriptů je na fm][ celá řada... pokud jde o nečitelnost čehokoli, co napsal v perlu někdo jiný než ty sám, tak podle RWS je to nejspíš výhoda (see http://abclinuxu.cz/hardware/ViewRelation?relationId=38403 :o) (já hlavně doufám, že se zas někdo nevytáhne nějaký půlstránkový skript v shellu, implementující rekursi, používající regulární výrazy v bashi a nefungující, když jména souborů obsahují nějaké speciální znaky... ;-)))
    egg avatar 22.8.2003 15:01 egg | skóre: 20 | Praha
    Rozbalit Rozbalit vše hromadné přejmenováni
    rename 's/.OGG$/.MP3/' *.MP3
    22.8.2003 16:19 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše hromadné přejmenováni
    hm, to jsem netušil, že existuje -- ale moje rename stejně žádné regulární výrazy neumí (co to máš za rename?); nicméně v tomto jednoduchém prípadě by fungovalo rename .ogg .mp3 *.mp3
    egg avatar 23.8.2003 11:42 egg | skóre: 20 | Praha
    Rozbalit Rozbalit vše hromadné přejmenováni
    Mam ho ve svem Debianu, nevim z ktereho balicku se vzal. Autorem je Larry Wall a je to perl skript, ktery bere perlovske vyrazy. Ale vic se toho z manualove stranky vycist neda, ani verze. Funguje to krasne, zvlast moje oblibene
    $ rename 'y/A-Z/a-z/' *      :-)
    Dalibor Smolík avatar 27.7.2004 08:52 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    Mám trochu jiný problém potřebuji přejmenovat soubory např. moje01, moje02, moje03 .. na tvoje01, tvoje02, tvoje03
    pomocí rename se mi to stále nedaří. Mohl by mi někdo poradit?
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    27.7.2004 09:03 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    No, u mého rename (tj. toho které je ve Slacku) by stačilo napsat
    rename moje tvoje *
    prvni arg. je retezec ktery chcete nahradit, druhy kterym ho chcete nahradit a ten treti (a dalsi) jsou ve kterych souborech to chcete nahradit
    Copak toho není dost?
    Dalibor Smolík avatar 27.7.2004 09:48 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    Prave tady je problem (mam Debian)
    rename moje tvoje *
    Bareword "ddd" not allowed while "strict subs" in use at (eval 1) line 1.
    xxx@server:~/aac$
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    27.7.2004 10:26 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: hromadné přejmenováni

    V Debianu je rename skript v perlu. Mělo by to jít asi takhle

    rename 's/moje/tvoje/' *

    Přinejmenším to tvrdí dokumentace.

    Copak toho není dost?
    Dalibor Smolík avatar 27.7.2004 10:29 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    ano, tohle funguje. Díky.
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    30.6.2006 20:46 wohny
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    mě to funguje přesně takhle, rename mam ze standardniho balicku FC3 ps. diky
    30.6.2006 21:28 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    A to vám trvalo dva roky, než jste to vyzkoušel? :-)
    Valoun avatar 27.7.2004 11:18 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    Na to pouzivam mmv.

    $ mmv "moje*" "tvoje#1"

    Ovsem jen rucne, ve skriptech se nerad spoleham na program, kterej nemusi kazdy mit.
    27.7.2004 11:33 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    Takhle funguje rename v Debianu (možná i jinde). Červené klobouky mají bůhvíproč jiné rename, ale i s ním se dá přežít ;-)
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    Valoun avatar 22.8.2003 23:20 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
    Rozbalit Rozbalit vše hromadné přejmenováni
    mmv "*.ogg" "#1.mp3"
    22.8.2003 23:33 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše hromadné přejmenováni
    bash: mmv: command not found ;-) takových věcí je na fm][ zhruba třicet, i v Javě a s GUI... a kdekdo si napsal vlastní... je mmv něčím výjimečné?
    Valoun avatar 27.7.2004 11:15 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    $whatis mmv

    mmv - move/copy/append/link multiple files by wildcard patterns

    "Mmv moves (or copies, appends, or links, as specified) each source file matching a from pattern to the target name specified by the to pattern. This action is performed safely, i.e. without any unexpected deletion of files due to collisions. Furthermore, before doing anything, mmv attempts to detect any errors that would result from the entire set of actions specified and gives the user the choice of either proceeding by avoiding the offending parts or aborting."

    Asi nic extra, proste mi to nekdo doporucil, bylo to maly a bylo to jako balik v debianu.
    Dalibor Smolík avatar 27.7.2004 12:33 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    příkaz mmv jsem si musel doinstalovat (Debian), pak funguje dobře.
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    27.7.2004 13:04 Paw
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    Ja jako liny klikac pouzivam program "KRename". - http://www.krename.net/

    Paw
    28.7.2004 10:46 coques | skóre: 21 | blog: FailSystem
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    chau, aj ja potrebujem hromadne premenovat nazvy suborov, len nazvy suborov su vo formate: jeden subor.xxx, cize s medzerou... klasicky v prikazovom riadku nie je problem, no akonahle to dam do skriptu, tak mi zacne premenovavat najprv jeden a potom subor.xxx, cize to je blud, neviete mi poradit preco? ..a skusam to takymto sposobom...
    for i in `ls ~/tmp/tmp-nm/*.xxx`
                            do
                            let n=n+1
                            echo menim nazov suboru na $n.yyy
                            mmv "*.xxx" "$n.yyy"
                            echo $i
                            done 
                            
    
    Polívčička byla..
    28.7.2004 13:42 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: hromadné přejmenováni

    Konstrukci for i in `ls ~/tmp/tmp-nm/*.xxx` napiš vlastní krví na pergamen vyrobený z kůže 17 leté panny. Pergamen potři sádlem z netopýra a posyp práškem z kořene mandragory. O 3. ouplňku po božím hodě přesně o půlnoci sněz a ZAPOMEŇ!

    Krom toho, že místo for i in `ls ~/tmp/tmp-nm/*.xxx` by většina normálních lidí napsala přinejmenším for i in ~/tmp/tmp-nm/*.xxx a zbavil se tak probl0mu s mezerama, nevím co by jsi s tím dělal, kdyby těch souborů v tom adresáři bylo pár tisícovek.

    Mimoto ten tvůj script, kdyby dělal to co se tam snažíš napsat, tak by ze souborů a.xxx b.xxx c.xxx vyrobil jeden jediný soubor 1.yyy s obsahem c.xxx, o a.xxx a b.xxx by jsi nenávratně přišel a pak by se odporoučel. Naštěstí mmv by tě to nedovolil udělat. Pokud už se chceš tvářit, že mmv ani rename nemusí vždy existovat, tak co třeba takhle:

    ls ~/tmp/tmp-nm/*.xxx | while read i; do mv $i ${i%xxx}yyy; done
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    28.7.2004 14:24 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    Sakr, no aby to fungovalo i natisíce souborů a i s mezerama a jinými zákeřnými znaky by to mělo být
    for i in  ~/tmp/tmp-nm/*.xxx; do mv $i ${i%xxx}yyy; done
    
    To s tím ls by mělo právě ten následek, že by přetekla příkazová řádka.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    28.7.2004 14:03 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    Abych vysvětlil co je na tom scriptu špatně, tak tedy co se bude dít. Bash spustí svůj fork, který se pokusí vyhodnotit výraz ls ~/tmp/tmp-nm/*.xxx. Provede expanzi ~/tmp/tmp-nm/*.xxx čímž mu může vzniknout první chyba a to překročení velikosti příkazové řádky 64KB. Provede exec ls s parametry vzniklími tou expanzí a výstup stdout odchytí a umístí do príkazového řádku for i in čímž už potřetí vyrobíme ten samý seznam souborů, ale teď už s tím nepracuje jako se seznamem parametrů, ale kako textovým souborem! No a logicky ho zpracuje na nový seznam parametrů. Pro každý z těchto parametrů volý potom vnitřek smyčky. no a když přeskočíme ty nezajímavé věci tak při volání mmv provede znovu expanzi *.xxx v aktuálním adresáři (což jaksi není to co by jsi chtěl) no a nedej bože aby jsi byl zrovna v adresáři kde jsou nějaké soubory *.xxx protože se zase provede expanze (no a zase nesmý být překročena pamět pro příkazový řádek 64KB) no a s těmito paramatry je zavoláno mmv a nakonec se hodí 1.yyy (a při druhém volání 2.yyy) co s tím udělá mmv, no to ...
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    28.7.2004 23:44 coques | skóre: 21 | blog: FailSystem
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    dakujem za vycerpavajuce vysvetlenie a ak som ta tym skriptikom zodvihol zo stolicky, tak prepac :-)
    Polívčička byla..
    29.7.2004 11:03 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    To nic, ja tyhle veci v bashi nemám rád, protože pak se dotyčný divý proč mu to nebo ono nejede. Uznávám, že než se člověk na man stránce bashe zorientuje tak to chvilku trvá a než do toho pronikne, tak aby místo
    mv i$ `echo $i| sed 's/xxx$/yyy/'`
    použil
    mv $i ${i%xxx}yyy
    (nemluvě o použití filtr <soubor místo cat soubor |filtr a filtr <<<"nějaký text" místo echo "nějaký text" | filtr ) to chce trochu praxe. Nemluvě o vychytávkách typu
    exec <soubor
    a konstrukce
    tar cf >(cd nekam; tar x) cosik
    (ekvivalent tar c cosik | tar xC nekam). Hold to není tak jednoduché. Takže ještě k tomu přejmenování (když se Yeti nebude zlobit, že to dělám v bashi a ne nějak přes filtry a xargs ;-) )
    n=0
    for i in ~/tmp/tmp-nm/*.xxx
    do
      let n++
      mv "$i" "${i%/*}/$(printf "%03d" $n).yyy"
    done
    
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    29.7.2004 17:07 coques | skóre: 21 | blog: FailSystem
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    dakujem, presne to som potreboval...

    ale vyzera to teda zlozito :-)

    btw, nevies mi dat link na nejaky handbook na bash ?
    Polívčička byla..
    30.7.2004 08:05 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: hromadné přejmenováni

    Bohužel takový link neznám, ale matně si vzpomínám, že jsem na něco takového kdysi narazil. Možná by se dalo i něco najít u O'Reily.

    Mě hodně pomáhá, když si představím jak by to tak asi mohlo být naprogramované a znalost střev unixu (třeba z Skočovský, L.:UNIX POSIX Plan 9). Shell je jak název napovídá jen obálka nad voláními jádra :-) No a tak nejjednodušeji implementují to co je jednoduše převoditelné na volání jádra a všechno složitější se víc a víc od jádra vzdaluje. Vycházím z jednoduché premisy, že všichni programátoři jsou líní jako já a položím si jednoduchou otázku: Jak bych to naprogramoval, tak abych se nejmíň nadřel? Třeba cyklus for i in list - bash čte zdrojový text na svém vstupu, rozparsuje 'for' 'i' 'in', no tak si udělám proměnnou 'i' a budu čekat, že následuje nějaký seznam a teď to nejjednodužší co mě napadne, že udělám expanzi toho seznamu, jenže jsem zjistil, že to by mohlo taky zabrat příliš moc paměti. No tak jak by se to asi dalo jinak naprogramovat? No třeba, že bych bral jeden parametr (nebo výsledek expanze) po druhém a z každým pak prováděl to co najdu po do? To samé by se dalo dělat, když tam bude substituce příkazu (bash(1)/Command Substitution jako $(command) nebo `command`, to první používám radši, protože se to pak dá zanořovat). To by se dalo udělat třeba tak, že bych se odforkoval a pak četl postupně stdout toho subprocesu přes pipe a zacházel s tím jako s výsledkem expanze. To zní složitě, ale když si představím, jak by se to naprogramovalo, tak je to malý kousíček kódu v C s pár voláníma jádra, které všechno to složité udělají za mě.

    No a tak postupuju, když něco nefunguje, nebo chci vědět jak to funguje a chci aby to fungovalo co nejlépe, nejrychleji, s nejmenšími nároky na paměť a podobně. Prostě se snažím představit jak to asi ti stejně líní programátoři naprogramovali. Ona lenost v programování, znamená méně kódu a tím méně chyb, méně spotřebované paměti a méně problémů. No a vo tom je unix.

    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    28.7.2004 20:38 laco
    Rozbalit Rozbalit vše Re: hromadné přejmenováni
    slackware 9.1

    rename .ogg .mp3 *.ogg

    specialne znaky (medzery, diakritika, ..) nie su problem
    Jakub Hájek avatar 30.6.2006 21:23 Jakub Hájek | skóre: 14 | blog: zamek | Praha
    Rozbalit Rozbalit vše Re: hromadné přejmenování
    Koukam, ze reseni je tu uz mnoho, tak take jedno prihodim...

    ls *.ogg | sed 's/...$//'| xargs -i mv {}ogg {}mp3
    Teprve tehdy, až nebudeme mít co ztratit, budeme opravdu svobodní.

    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.