Próbuję zmienić nazwę pliku z łącznikiem na początku jego nazwy i zarówno to:
mv -example-file-name example-file-name
i to:
mv '-example-file-name' example-file-name
skutkować w:
mv: invalid option -- 'e'
linux
command-line
bash
shell
Desmond Hume
źródło
źródło
mv *example-file-name example-file-name
ma ten sam problem, ponieważ rozszerzenie nazwy pliku (globowanie AKA) ma miejsce przedmv
wywołaniem.Odpowiedzi:
Większość poleceń GNU / Linux pozwala
--
opcjom wskazać koniec opcji, aby kolejne-
prefiksy nie były traktowane jako opcje.Mały test
źródło
rename
. (przynajmniej wersja, która działarename [options] <expression> <replacement> <file>...
, cokolwiek to jest.)mv
nie ma tego :(Odpowiedź RedGrittyBrick jest bardzo dobra. Inną opcją jest:
Mały test:
źródło
--
.Możesz użyć tego:
że może zmienić nazwę wszystkich plików :), jeśli nazwa pliku:
po uruchomieniu kodu twoja nazwa pliku staje się:
źródło
Ta sztuczka działa na mnie w czasach desperacji. YMMV
Musisz zmienić myślnik, aby zmienić nazwę, aby go rozpoznać. Dlaczego zmiana nazwy nie szanuje pojedynczych cudzysłowów ani nie oferuje jakiegoś zastąpienia, jest poza mną.
To jedyna metoda, jaką widziałem, która niezawodnie obsługuje wiodący łącznik, używając zmiany nazwy. Zgadzam się z innymi postami dotyczącymi korzystania z mv, ale jeśli nie możesz użyć mv z jakiegokolwiek powodu, to działa.
źródło