Raktenskripter: Lösungsansatz zur Diskussion (Shell/AWK-Skript statt PHP)

Beitrag lesen

Deine Lösung geht soweit durch - solange Du weißt, was Du machst und Backups hast (Das gilt immer, also auch für mein Skript:)

skript.sh:

#/bin/bash
if [ -d $1 ]; then
	olddir=$(pwd);
	cd "$1";
	ls -f -C *.mp3 *.wav | sort -R | awk -f /tmp/test/skript.awk;
	cd "${olddir}";
else
	>&2 echo "Fehler: Kein Verzeichnis angegeben."
fi

skript.awk:

{
        i=i+10;
        oldname=$0;
        newname=$0;
        gsub("^[^ ]+ ", "", newname);
        newname=sprintf("%05d %s", i, newname);
        gsub("'", "'\\''", oldname);
        gsub("'", "'\\''", newname);
        cmd="mv '"oldname"' '"newname"';";
        print cmd;
        #system(cmd);
}

Hints:

  • Zum Ausführen die Raute vor #system(cmd) in der Datei "skript.awk" entfernen.
  • Ich würde in der skript.sh womöglich andere Optionen für sort verwenden: -R „shuffelt“.