Archiv verlassen und diese Seite im Standarddesign anzeigen : Script zum Dateien umbenennen
Hallo zusammen,
das Thema "Dateien umbenennen" wurde schon etliche Male hier behandelt, jedoch war mein Problem leider nicht dabei.
Folgendes:
Ich habe ein Verzeichnis mit etlichen Unterverzeichnissen.
/home/alex/Urlaub
/home/alex/Urlaub/2001
/home/alex/Urlaub/2002
/home/alex/Urlaub/2003
etc.
In jedem Verzeichnis befinden sich Dateien. Diese sollen, am besten durch ein Script, nach folgendem Schema umbeannt werden:
alterDateiname1.jpg --> NamedesVerzeichnisses_0001.jpg
alterDateiname2.jpg --> NamedesVerzeichnisses_0002.jpg
also wird aus
pic4711.jpg --> 2001_0001.jpg
pic4712.jpg --> 2001_0002.jpg
pic4713.jpg --> 2002_0001.jpg
pic4714.jpg --> 2002_0002.jpg
usw.
Ich hoffe, mein Problem ganau beschrieben zu haben.
Bin für Hilfe sehr dankbar.
Gruß
Fußhupe
BLUESCREEN3D
01.09.04, 21:29
haben die unterverzeichnisse auch noch unterverzeichnisse?
Zum Teil ja. Wäre aber nicht der große Aufwand, die manuell herauszuholen.
Gruß
Fußhupe
darf ich vorschlagen, dass du dafür PHP oder Perl verwendest?
ausserdem würde ich wegen der Subdirs eine rekursive Funktion vorschlagen
Ich krieg doch nicht mal 'n Script zu Stande :(
Gruß
Fußhupe
stokedfish
02.09.04, 17:18
Dann verwende halt KRename! ;)
Krename fängt nicht in jedem Verzeichnis neu an zu zählen.
Gruß
Fußhupe
so toll bin ich nicht im Shell'en, aber vielleicht können das ja andere hier weiterbauen :)
#!/bin/sh
zahl=1
for i in `ls .` ; do
mv $i `pwd | sed s/^.*\\\///`_${zahl}.jpg ;
zahl=$(($zahl+1));
done
- funzt nur im pwd (sollte nicht drinliegen, benennt sich sonst selbst um)
- ignoriert die Endung, schreibt einfach .jpg dran
- das Zahlenformat hat keine leading zeros
BLUESCREEN3D
03.09.04, 13:34
Krename fängt nicht in jedem Verzeichnis neu an zu zählen.
du tust das in deinem beispiel aber auch!?
nein, pic*.jpg sind nur Beispiele gewesen. Die Dateien heissen alle wild durcheinander. Nur der Ordner in dem die Dateien liegen hat den richtigen Namen. Die Dateien darin sollen diesen übernehmen und _0001.jpg etc. hinten dranhängen.
Mit Krename müsste ich die Dateien eines jeden Ordners einzeln durchlaufen lassen. Und das erfordert viel Zeitaufwand.
@Alexiel: Danke für die Mühe.
Gruß
Fußhupe
BLUESCREEN3D
03.09.04, 14:57
nein, pic*.jpg sind nur Beispiele gewesen. Die Dateien heissen alle wild durcheinander. Nur der Ordner in dem die Dateien liegen hat den richtigen Namen. Die Dateien darin sollen diesen übernehmen und _0001.jpg etc. hinten dranhängen.
es geht nicht um die ursprungsnamen sondern um die zeilnamen.
da hast du geschrieben:
pic4711.jpg --> 2001_0001.jpg
pic4712.jpg --> 2001_0002.jpg
pic4713.jpg --> 2002_0001.jpg
pic4714.jpg --> 2002_0002.jpg
also gibt es mehr als eine datei, die mit "_0001.jpg" endet
oder soll das nicht so sein?
also gibt es mehr als eine datei, die mit "_0001.jpg" endet
Richtig. Aus bzw. dann in jedem Ordner mindestens eine.
Ich versuchs nochmal zu erklären:
Im Ordner /home/alex/Urlaub/Urlaub_2001/ liegen die Dateien
193jdzuej.jpg
s8j3.jpg
usw.
Diese sollen nach dem Umbennen so aussehen:
Urlaub_2001_0001.jpg
Urlaub_2001_0002.jpg
usw.
Beim Ordner /home/alex/Urlaub/Urlaub_2002/ soll das Script wieder bei 1 anfangen zu zählen.
Urlaub_2002_0001.jpg
Urlaub_2002_0002.jpg
usw.
Praktisch rekursiv umbenennen und bei jedem Ordnerwechsel wieder bei 1 anfangen zu zählen.
Ob das geht? Wäre toll.
Gruß
Fußhupe
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.