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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 0
včera 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 16
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 2
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 767 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: hromadné přejmenování

21.8.2003 21:04 Jiří Masák
hromadné přejmenování
Přečteno: 2485×
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: 71 | 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 
                        
sudo apt-get install upstart-sysv
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 :-)
sudo apt-get install upstart-sysv
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 ?
sudo apt-get install upstart-sysv
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.