Yohoo!
Ich archiviere viele Serien. Da es öfters mal vorkommt, daß eine Folge fehlt (die dann beim nächsten Ausstrahlungstermin aufgenommen wird) habe ich mir angewöhnt, die Serien mit Nummern zu versehen:
01._Ferien_auf_dem_Bauernhof/2005-...
02._Die_nächste_Sendung/2005...
Doof ist dabei nur, daß der VDR die eben nach Aufnahmedatum sortiert (mit Patches auch nach Namen, ich weiß).
Da mir das Aufnahmedatum aber so ziemlich egal ist, nutze ich eben das tzur Sortierung. Untenstehendes Skript sucht in dem aktiven Verzeichnis nach Unterverzeichnissen mit "*.rec" und sortiert diese durch umbenennen anhand der lfd Seriennummer im Verzeichnis.
Das Teil ist nur ein schneller Hack, wer will, kann es natürlich ändern.
Kommentare erwünscht, vielleicht werde ich das auch noch erweitern. Aber vorerst tut es das für mich...
#!/bin/bash
find . -type d -name "*.rec" |grep "-" > /tmp/dir.tmp
for j in `cat /tmp/dir.tmp`; do
FOLGE=`echo $j|cut -d "/" -f 2`
i=`echo $j|cut -d "/" -f 2 |cut -d "." -f 1 `
echo "FOLGE=$FOLGE "
TAG=`echo "$i%28+1"|bc`
mult=`echo "$i/28"|bc`
MONAT=`echo "(1+$mult)%12+1"|bc`
jmult=`echo "(1+$mult)/12"|bc`
JAHR=`echo "$jmult+2004"|bc`
echo -n "i=$i TAG=$TAG MONAT=$MONAT JAHR=$JAHR ";
echo "mult=$mult";
MONAT=`printf %2d $MONAT|sed s/\ /\0/g`
TAG=`printf %2d $TAG|sed s/\ /\0/g`
OLD=$j
NEW=`echo -n "./$FOLGE";echo -n "/" ; echo "$JAHR-$MONAT-$TAG.09.50.70.70.rec"`
echo "OLD=$j NEW=$NEW"
mv $OLD $NEW
done
Alles anzeigen
Ach ja: Ja, ich weiß, daß es viele elegantere, schnellere und bessere Lösungen gibt, aber nochmal: es tut's für mich