Hi Andreas!
Am Freitag, den 26.05.2006, 13:16 +0200 schrieb
lists@andreas-thomsen.de:
> Ich möchte 34000 Dateien sortieren. Das mach man wohl mit einem Script. :-)
Ich befürchte, dass es Leute gibt, die andere für sowas Geld geben, dass
die das manuell machen.
> Die Dateinamen haben folgenden Aufbau:
>
> KUNDE.TTMMJJJJ.SSMMss und optional: noch ein .Z
> und liegen in einem Verzeichnis in oder out.
>
> Die Länge von KUNDE ist leider variabel, und die Zahl Z am Ende kommt nur,
> wenn Dateien mit gleichem Zeitstempel existieren.
An der Stelle muss ich nachhaken. Ist Z nur eine Ziffer oder kann Z auch
mehrere Ziffern enthalten?
Wenn Z immer nur aus einer Ziffer besteht, ginge es so:
----------------------
# Format aller Dateien vereinheitlichen
# Dann kann man Zeit, Datum usw. von hinten immer gleich abzählen
for i in "in/*[0-9][0-9]"
do
mv $i $i.X
done
for i in "in/*"
do
JAHR=${i: -13:4}
MONAT=${i: -15:2}
TAG=${i: -17:2}
mkdir -p ${i:3:${#i}-21}/in/$JAHR/$MONAT/$TAG
mv $i ${i:3:${#i}-21}/in/$JAHR/$MONAT/$TAG/${i#in/}
done
------------------------
Wobei X dann die 0 sein könnte, falls die unbenutzt ist, oder ein
anderes an der Stelle unbenutztes Zeichen.
Das geht aber nur, wenn das Z nur genau ein Zeichen ist! Das Skript baut
darauf, dass es vom Ende die Position der Informationen abzählen kann.
Gruß,
Nilz.
-- http://nilz.hoschi.de
This archive was generated by hypermail 2.1.8 : Fri May 26 2006 - 18:45:08 CEST