Ich versuche, eine Datei mit einem Bindestrich am Anfang ihres Namens umzubenennen, und beides:
mv -example-file-name example-file-name
und das:
mv '-example-file-name' example-file-name
Ergebnis in:
mv: invalid option -- 'e'
linux
command-line
bash
shell
Desmond Hume
quelle
quelle
mv *example-file-name example-file-name
hat das gleiche Problem, da die Dateinamenerweiterung (AKA Globbing) vor demmv
Aufruf erfolgt.Antworten:
Die meisten GNU / Linux-Befehle erlauben eine
--
Option, um das Ende von Optionen anzugeben, so dass nachfolgende-
vorangestellte Wörter nicht als Optionen behandelt werden.Ein kleiner Test
quelle
rename
. (Zumindest die Version, die funktioniertrename [options] <expression> <replacement> <file>...
, egal welche.)mv
dies nicht :(Die Antwort von RedGrittyBrick ist sehr gut. Eine andere Option ist:
Ein kleiner Test:
quelle
--
.Sie können dies verwenden:
dass es alle dateien umbenennen kann :) wenn dein dateiname:
Nach dem Ausführen des Codes wird Ihr Dateiname zu:
quelle
Dieser Trick funktioniert für mich in Zeiten der Verzweiflung. YMMV
Sie müssen den Bindestrich umbenennen, um ihn zu erkennen. Warum das Umbenennen keine einfachen Anführungszeichen berücksichtigt oder eine Überschreibung anbietet, ist mir ein Rätsel.
Dies ist die einzige Methode, die ich gesehen habe und die einen führenden Bindestrich mithilfe von Umbenennung zuverlässig verarbeitet. Ich bin mit den anderen Beiträgen über die Verwendung von mv einverstanden, aber wenn Sie mv aus irgendeinem Grund nicht verwenden können, funktioniert dies.
quelle