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
 

AcidUncle

Macoun
Registriert
05.08.08
Beiträge
116
das spuckt keine Fehlermeldung aus, ändert dafür aber auch nix an den Dateinamen....
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
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
 

AcidUncle

Macoun
Registriert
05.08.08
Beiträge
116
funktioniert, mein Fehler - SRY
Aber was war denn an meiner anfänglichen Variante nicht richtig?
 

rootie

Filippas Apfel
Registriert
30.06.11
Beiträge
8.831
Du hast nicht berücksichtigt, dass die MP3s auch Leerzeichen haben können. Das war der Fehler.
 

AcidUncle

Macoun
Registriert
05.08.08
Beiträge
116
und wieso hat dann der Test mit 'echo' anstelle von 'mv' funktioniert?
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
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

rootie

Filippas Apfel
Registriert
30.06.11
Beiträge
8.831
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 ?