bulk rename

s-tlk

Lion King Fan
nabend zusammen,

ich hab da ein kleines problem und ich hoffe das mir da jemand helfen könnte.

ich bin seit langem überzeugter Rox anwender und dieser hat ein wirklich nettes feature. bulk rename. damit kann man schnell viele dateien umbennen, wovon ich auch immer gebrauch gemacht habe. aber jetzt brauche ich eine andere art der umbennung und zwar.

Ich habe bilder die so heissen:

001 - 001
002 - 002
003 - 003
...
xxx - xxx

und ich will die jetzt umbennen in zb:

Pic - 001
...
Pic - xxx

weiß jemand wie ich rox sagen kann lösche mir die ersten 3 zeichen und schreibe dann "Pic". ich hab schon alles probiert was es so an gängige zeichen gibt. *,$,%, etc.

ich hoffe jemand weiß rat, oder nennt mir eine gute programmalternative.

vielen dank!

p.s. natürlich könnte ich mir jetzt was zusammen scripten, aber darauf hab ich heute abend ehrlich gesagt keine lust. dann müsste ich das noch ausprobieren und und... . außerdem wüsste ich gerne, ob das irgendwie geht mit rox, oder einer alternativen, wenn man zb andere arten der massenumbennung hat.
 
Wie das nun im Rox geht, keine Ahnung...aber wie wär's mit mmv?
Ist ziemlich simpel finde ich, z.B. für dein aktuelles Problem wäre der Befehl:
Code:
mmv "* - *" "Pic - =2"
Das benennt dann alle Dateien im aktuellen Verzeichnis um :cool:
 
also wenn es darum geht, ist mv mit sed in einer schleife eigtl alles, was man je braucht:
Code:
find . -type f -name soundso | while read file; do mv "${file}" "$(echo ${file} | sed 's/^.../Pic/')"; done

ersetzt zb in allen dateinamen, die auf das muster soundso passen, die ersten drei zeichen durch Pic.
 
mh..
mmv kannte ich noch gar nicht. danke :)

@TCM
ja das hätte auch funktioniert, aber dafür bin ich zu faul, wenn ich mir jedesmal für eine andere art der umbennung, ein neues script basteln muss. mmv ist mir schon lieber, da es nach einem mächtigen und bequemen werkzeug aussieht. trotzdem danke.

wenn hier jemand das weiß wie das mit Rox geht dann darf der das auch noch gerne posten ;)
 
Da braucht man nichtmal sed, da reicht die Parameter-Expansion der Shell.

Ungetestet:
Code:
for i in *.jpg; do echo "mv '$i' 'Pic -${i#*-}'";done

Wenn dies das gewuenscht Ergebniss liefert, kannst du entweder echo+quoting passend entfernen, oder du schickst die Ausgabe einfach an ne Shell (mit ...|sh)
 
@s-tlk: Du denkst zu kurz. mmv hilft dir vielleicht hierbei, aber es kann nicht alle Faelle abdecken. Nehmen wir mal an, du musst die Dateien so umbennen, dass die Nummer quadriert wird. Ich bezweifle, dass das mit mmv geht.

Lieber sh+bisschen sed/awk/perl lernen, dann bist du nicht auf irgendwelche anderen Tools angwiesen, sondern "programmierst" dir dass in 2 min selbst. Das ist ja gerade derGrund fuer Unix.

Give a man a fish ...
 
MrFixit schrieb:
@s-tlk: Du denkst zu kurz. mmv hilft dir vielleicht hierbei, aber es kann nicht alle Faelle abdecken. Nehmen wir mal an, du musst die Dateien so umbennen, dass die Nummer quadriert wird. Ich bezweifle, dass das mit mmv geht.

Lieber sh+bisschen sed/awk/perl lernen, dann bist du nicht auf irgendwelche anderen Tools angwiesen, sondern "programmierst" dir dass in 2 min selbst. Das ist ja gerade derGrund fuer Unix.
ich muss das nicht lernen ;) Ich glaube ich hab genug erfahrung in shell scripting, um das selber hinzukrieden. nur ich sehe keinen sinn darin! warum das rad zweimal erfinden? ^^
 
hallo? ich wollte eine programm alternative und nicht sowas daher gescriptes. außerdem interessiert mich, ob das mit rox auch geht. ;)
 
Zurück
Oben