Portál AbcLinuxu, 26. dubna 2024 23:47


Dotaz: Davkove prejmenovani souboru

Johny z Podoli avatar 6.8.2006 20:49 Johny z Podoli | skóre: 26 | blog: rocfdebian
Davkove prejmenovani souboru
Přečteno: 1058×
Odpovědět | Admin
ahoj, mam cca 1GB fotek, jejich jmena obsahuji jmeno serie, cislo serie, a cislo snimku. Bohuzel, nema cenu rozebirat pricinu, nektere snimky maji jmeno obohacene o "_copy_2".. nektere dokonce o "_copy_3".. viz

SERIE-75-53_copy_2.jpg

chci tento snimek prejmenovat zpet na puvodni jmeno SERIE-75-53.jpg
rad bych zachoval velikost pismen a pod.

dik za napad, ja manualuji uz hodinu s nejak nic neprichazi :-)
dik, Johny
Můj web o táborech: Letní dětské tábory, Hudební tábor , Můj nový blog na Nul.cz
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.8.2006 20:55 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
for file in *_copy_*; do
   newname=$( echo $file|sed -e "s/_copy_[0-9]//g" );
   echo mv $file $newname;
done
6.8.2006 21:02 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
rename 's/_copy_[0-9]//' * … za předpokladu že máš rename jako je v Debianu :-).
Weblate - překládání přes web | Gammu SMSD - posílání SMS | Blog
6.8.2006 21:05 fakenickname | skóre: 42 | blog: fakeblog
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
rename 's#_copy_2##' * Pokud ty fotky mas ve vice adresarich tak to zabuduj do skriptu
Johny z Podoli avatar 6.8.2006 21:14 Johny z Podoli | skóre: 26 | blog: rocfdebian
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
perfekt :) nejak jsem netusil jak lehce to jde! dik moc
Můj web o táborech: Letní dětské tábory, Hudební tábor , Můj nový blog na Nul.cz
4.10.2007 11:49 Tomáš Bayer
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kde jsem udělal chybu? Chci soubory DSC* přejmenovat na zvolený název a příkaz rename DSC08* aussig* *.jpg

vrací odpověď

Bareword "DSC08098" not allowed while "strict subs" in use at (eval 1) line 1. Bareword "JPG" not allowed while "strict subs" in use at (eval 1) line 1.

Příkaz rename 's/\DSC08*.JPG$//' aussig*.jpg neprovedl vůbec nic.

Při pokusu o vlastní nastavení číslování souborů (nevím, jak zní syntax pro zadání trojmístného čísla a zvyšování o jedničku) rename 's/DSC08[098-105].jpg//' aussig[001-008].jpg odpověď zněla: Invalid [] range "8-1" in regex; marked by <-- HERE in m/DSC08[098-1 <-- HERE 05].jpg/ at (eval 1) line 1.

Kde je chyba a jak zní správná syntax?
4.10.2007 12:13 outsider
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Nejak jsem nepochopil, ceho chcete dosahnout. Jak se soubor jmenuje ted a jak se ma jmenovat po prejmenovani?

Jinak chyba je v tom, ze nespravne pouzivate regularni vyrazy. Syntaxe prikazu rename je :

rename [vyraz v perlu aplikovany na jmena souboru] [seznam souboru k prejmenovani]...
4.10.2007 15:24 Tomáš Bayer
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
V tomto případě chci soubory DSC08098, DSC08099.jpg atd. hromadně přejmenovat na aussig001, aussig002.jpg ad. Obecně mi jde o přejmenování původního souboru na soubor se zvoleným názvem a trojmístným číslem, jako je to v příkladu. Na to jsem nikde syntax nenašel.
4.10.2007 17:29 outsider
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Zalezi na tom ,jakou verzi rename presne mate :-) Ale mohlo by fungovat toto:

rename -n -v 's/.*\.jpg/"aussig".(sprintf "%.3i", ++$i).".jpg"/e' DSC*.jpg

PS: az to bude fungovat, tak vyhodte to -n
6.10.2007 23:16 Tomáš Bayer
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Global symbol "$i" requires explicit package name at (eval 1) line 1.

Tolik odpověď shellu. Co to znamená?
7.10.2007 18:17 outsider
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
To znamena, ze bud mas jinou verzi rename nebo jsem to blbe oescapoval :-)
[~/test]$ ls
a.jpg  b.jpg  c.jpg  d.jpg  rename*
[~/test]$ ./rename -n  's/.*/"obrazek".(sprintf "%.3i", ++$i).".jpg"/e' *.jpg
a.jpg -> obrazek001.jpg
b.jpg -> obrazek002.jpg
c.jpg -> obrazek003.jpg
d.jpg -> obrazek004.jpg
Problem je v tom, ze skript "rename" existuje v nekolika verzich... Kdyz ten svuj vystavis nekam na net, tak ti reknu, jak to udelat, aby to jelo (pokud to pujde) :-)
4.10.2007 11:51 Kvak
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Total Commander, teď ve verzi 7.02a.
4.10.2007 15:25 Tomáš Bayer
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Jsme ovšem v ABC Linuxu... Vím, že Total commander to umí. ALe já chci znát sytax pro linuxovu konzoli...
4.10.2007 11:57 Ruda | skóre: 11
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud chceš klikací nástroj, tak třeba použij krename.
4.10.2007 15:26 Tomáš Bayer
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Samozřejmě, že ne, ptám se na syntax pro hromadné přejmenování. Takže v konzole, jen správné znění příkazu, viz výše.
14.6.2008 10:19 Vikpet | skóre: 10
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Umí dávkově přejmenovávat soubory nějaký program v KDE? Třeba některý správce souborů?
14.6.2008 14:52 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
krename, např. ho používá krusader
14.6.2008 21:13 Martin
Rozbalit Rozbalit vše Re: Davkove prejmenovani souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja na hromadné premenovanie fotiek používam Gwenview, celkom šikovný programček s GUI, aj keď nedokáže robiť zázraky. Aspoň zatiaľ.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.