Czy istnieje sposób na zmianę nazwy wszystkich plików w katalogu na małe | wielkie litery?
Szukam polecenia oneliner .
Kochałem TotalCommander alt+f7
, teraz potrzebuję tej funkcjonalności w Terminalu
command-line
rename
batch-rename
Unamata Sanatarai
źródło
źródło
mv
zobaczyć, co się dzieje; możesz nie chcieć przekazać „-f”, ponieważ może to zablokować istniejące plikiIstnieje bardziej eleganckie i ogólne narzędzie o nazwie
prename
.Napisany przez Larry'ego Walla, jest dostarczany z,
perl
więc najprawdopodobniej jest już dostępny w twoim systemie jako/usr/bin/prename
(jeśli masz alternatywne ustawienia, może być również dostępny jako/usr/bin/rename
symlink przez / etc / alternatives toprename
)Za jego pomocą możesz zmienić nazwę wielu plików w jednym poleceniu, podając dowolne wyrażenie perla (w tym między innymi podstawienie
s///
lub transliterację znakówtr///
):Przykłady:
I tak dalej.
Kolejną zaletą prename jest to, że chroni cię w przypadku zmiany nazwy pliku na istniejącą nazwę pliku.
man prename
po więcej szczegółów.źródło
Za pomocą
find
Dla
find
-name
umieszczeniu wzoru.-maxdepth 0
: Tylko bieżący katalog.Dla
rename
-n, -nono
: Brak akcji: drukuj nazwy plików, których nazwy należy zmienić, ale nie zmieniaj nazwy.y/source/dest/
: Transliteruj znaki w przestrzeni wzorów, które pojawiają się w źródle, na odpowiedni znak w dest.źródło