• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

viele Dateien im Terminal umbenennen

AcidUncle

Macoun
Registriert
05.08.08
Beiträge
116
Hi @all,

ich versuche aus mp3s den Künsterlamen im Dateinamen zu entfernen.
Ein Test per:

Code:
for i in *.mp3 ; do echo $i | sed s/"KÜNSTLERNANE"// ; done

funktioniert.

Wenn ich anstelle von echo jedoch mv, nutze, bekomme ich dieses hier. Damit kann ICH aber nix anfangen.

Code:
for i in *.mp3 ; do mv $i | sed s/"KÜNSTLERNANE"// ; done


usage: mv [-f | -i | -n] [-v] source target
       mv [-f | -i | -n] [-v] source ... directory

Kann hier jemand helfen?

thx!
~aciduncle
 
das spuckt keine Fehlermeldung aus, ändert dafür aber auch nix an den Dateinamen....
 
Simple Kontrolle:
Code:
for old in *.mp3
do
  new="$( sed -e 's/KÜNSTLERNAME//1' <<< "$old" )"

#  mv "$old" "$new"

  echo "alt:  $old"
  echo "neu:  $new"

done
 
funktioniert, mein Fehler - SRY
Aber was war denn an meiner anfänglichen Variante nicht richtig?
 
Du hast nicht berücksichtigt, dass die MP3s auch Leerzeichen haben können. Das war der Fehler.
 
und wieso hat dann der Test mit 'echo' anstelle von 'mv' funktioniert?
 
mv braucht zwei Parameter - Quelle und Ziel.
Du hast versucht mit sed eine Textausgabe von mv zu bearbeiten die es gar nicht gibt.
 
  • Like
Reaktionen: rootie
Stimmt das hab ich glatt übersehen. Aber selbst wenn er das Ziel angegeben hätte, hätte es nicht geklappt bei MP3 mit Leerzeichen, oder @Rastafari ?