
Ich habe ein Problem beim Umbenennen der folgenden Datei
-data-02-03-04.dat
Ich vermute, das Problem liegt am Dateinamen, der mit einem Bindestrich beginnt. Beim Versuch, die Datei umzubenennen, erhalte ich die folgende Fehlermeldung.
rename -data-02-03-04.dat data020304.dat
Unknown option: data-02-03-04.dat
Usage:
rename [ -h|-m|-V ] [ -v ] [ -0 ] [ -n ] [ -f ] [ -d ]
[ -e|-E perlexpr]*|perlexpr [ files ]
Antwort1
Das Problem liegt eigentlich darin, dass der Dateiname mit einem Bindestrich beginnt, sodass er als Option des rename
Befehls und nicht als Argument verwendet wird. Um das Problem zu vermeiden, gehen Sie einfach den Pfad der Datei durch:
mv ./-data-02-03-04.dat data020304.dat
Ich habe den mv
Befehl verwendet, der für eine einzelne Datei praktischer ist. rename
Der Befehl wird hauptsächlich zum Umbenennen von Stapeln verwendet und erfordert einen perl
regulären Ausdruck.
Wie erwähntHierEine andere Möglichkeit, das Problem zu lösen, besteht darin, einen doppelten Bindestrich hinzuzufügen, --
um das Ende der Befehlsoptionen anzuzeigen:
mv -- -data-02-03-04.dat data020304.dat
Antwort2
rename
tut nicht, was Sie denken.
Sie können einen der folgenden Schritte ausführen:
mv ./-data-02-03-04.dat data020304.dat
mv -- -data-02-03-04.dat data020304.dat
Wenn Sie „rename“ wirklich verwenden möchten, wäre die korrekte Syntax:
rename 's/-//g' ./-data-02-03-04.dat
rename 's/-//g' -- -data-02-03-04.dat