xaaa.tif -> 0001.tif

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
whatsmyname2009
Beiträge: 75
Registriert: 26.05.2007 10:25:48

xaaa.tif -> 0001.tif

Beitrag von whatsmyname2009 » 15.06.2007 11:26:39

Hallo Leute,

ich habe hier eine Reihe von Files, die "tiffsplit" mit den Filenamen:
xaaa.tif
xaab.tif
xaac.tif
usw.
ausgestattet hat.

Für einen bestimmten Zweck brauch ich aber nummerische Filnenamen wie:
0001.tif
0002.tif
0003.tif

Wie müßte ein Script aussehen, dass die Files umbenennt?

Gruss,
DS

goecke
Beiträge: 289
Registriert: 12.01.2007 11:57:27

Beitrag von goecke » 15.06.2007 12:17:46

Hi,

als Ansatz kannst du folgendes verwenden:

Code: Alles auswählen

ls *.tif  | sort | nl -w 4 -s ";" | sed "s/^\([^;]*\);\(.*\)$/mv \2 \1.tif /gi"
Funktion :
ls : is klar
sort: is klar
nl : is Zeilen Nummern (=>deine Numerierrung erzeugen)
sed : erstellen eines "mv" Befehls

das ergebnis nach Tests(!!) einfach noch mit "| bash"
in die bash pipen.


Nachteil im Moment es gibt keine führenden "0",

kann man aber ggf. in mehreren Schritten machen vor dem "sed" mit head / tail
aufteilen und sed Anpassen, oder später z.B. mit

Code: Alles auswählen

 mmv "?.tif" "000#1.tif"
 mmv "??.tif" "00#1#2.tif"
...
nachbearbeiten

whatsmyname2009
Beiträge: 75
Registriert: 26.05.2007 10:25:48

Beitrag von whatsmyname2009 » 15.06.2007 20:10:44

goecke hat geschrieben:

Code: Alles auswählen

ls *.tif  | sort | nl -w 4 -s ";" | sed "s/^\([^;]*\);\(.*\)$/mv \2 \1.tif /gi"
Optimopti. Ja, diese sed-Hacker! Ich habe mir irgendwas "for ... in; do mv ..." usw. gerechnet
und dann irgendwas mit einem Hochzähler.

Script klappt super, hab geschafft die führenden Nullen bei 1-10.tif
mit einem anderen Script aufzufüllen.

Danke.
DS

whatsmyname2009
Beiträge: 75
Registriert: 26.05.2007 10:25:48

Noch mal dasselbe andersherum ...

Beitrag von whatsmyname2009 » 19.12.2007 11:03:40

Hallo Konsolen-Hacker!

Ich bräuchte dasselbe noch einmal anders herum, also:

xaaa.tif --> 0003.tif
xaab.tif --> 0002.tif
xaac.tif --> 0001.tif

unmoeglich?

Gruss,
DS

whatsmyname2009
Beiträge: 75
Registriert: 26.05.2007 10:25:48

Umkehrte Reihenfolge *** gelöst ***

Beitrag von whatsmyname2009 » 21.12.2007 18:12:06

Hab's selber herausgefunden, einfach sort -r.

Gruss,
DS

Antworten