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
xaaa.tif -> 0001.tif
Hi,
als Ansatz kannst du folgendes verwenden:
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
nachbearbeiten
als Ansatz kannst du folgendes verwenden:
Code: Alles auswählen
ls *.tif | sort | nl -w 4 -s ";" | sed "s/^\([^;]*\);\(.*\)$/mv \2 \1.tif /gi"
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"
...
-
- Beiträge: 75
- Registriert: 26.05.2007 10:25:48
Optimopti. Ja, diese sed-Hacker! Ich habe mir irgendwas "for ... in; do mv ..." usw. gerechnetgoecke hat geschrieben:Code: Alles auswählen
ls *.tif | sort | nl -w 4 -s ";" | sed "s/^\([^;]*\);\(.*\)$/mv \2 \1.tif /gi"
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
-
- Beiträge: 75
- Registriert: 26.05.2007 10:25:48
Noch mal dasselbe andersherum ...
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
Ich bräuchte dasselbe noch einmal anders herum, also:
xaaa.tif --> 0003.tif
xaab.tif --> 0002.tif
xaac.tif --> 0001.tif
unmoeglich?
Gruss,
DS
-
- Beiträge: 75
- Registriert: 26.05.2007 10:25:48
Umkehrte Reihenfolge *** gelöst ***
Hab's selber herausgefunden, einfach sort -r.
Gruss,
DS
Gruss,
DS