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“.