Ok, ich habe ein paar Dateien, die mit einem Bindestrich beginnen, -. Was nicht so gut ist ... und ich möchte sie umbenennen. In meinem speziellen Fall möchte ich nur eine Figur vor sie stellen.
Ich habe die folgende Zeile gefunden, die funktionieren sollte, aber aufgrund des Bindestrichs funktioniert sie nicht:
for file in -N*.ext; do mv $file x$file; done
Wenn ich einen echo
davor lege, mv
bekomme ich einen Haufen
mv -N1.ext x-f1.ext
mv -N2.ext x-f2.ext
Welches ist richtig, außer natürlich wird es denken, dass der erste Dateiname Optionen ist. Also, wenn ich das entferne echo
und es laufen lasse, bekomme ich nur ein paar
mv: illegal option -- N
Ich habe versucht, es zu ändern
for file in -N*.ext; do mv "$file" "x$file"; done
aber die Anführungszeichen werden einfach ignoriert, wie es scheint. Versuchte einfache Anführungszeichen zu verwenden, aber dann wurde die Variable nicht erweitert ... Was mache ich hier?
Update: Ich habe jetzt auch versucht die Zitate zu zitieren. So was:
for file in -N*.ext; do mv '"'$file'"' '"'x$file'"'; done
Und wenn ich das wiederhole, sieht es richtig aus, aber wenn ich es tatsächlich ausführe, bekomme ich es einfach
mv: rename "-N1.ext" to "x-n1.ext":: No such file or directory
Ich habe nur keine Ahnung, wie ich das jetzt machen soll ... seufz