Podczas pracy z plikami zmiana nazwy jest jednym z najbardziej podstawowych działań. W Linux zmiana nazwy pliku lub katalogu odbywa się głównie za pomocą MV. Jednak jeśli chodzi o zmianę nazwy wielu plików lub folderów, użycie MV staje się złożone. Wymaga konstruowania złożonych pętli i rurociągów, aby wykonać zadanie. Polecenie zmiany nazwy jest specjalnie zaprojektowane do takich sytuacji.
REAMAME to potężne narzędzie do zmiany nazwy partii, które wykorzystuje wyrażenie perla do zmiany nazwy wielu plików i katalogów w jednym poleceniu. W tym przewodniku sprawdź, jak zmienić nazwę plików z Zmienioną nazwą.
Instalowanie Zmieniania nazwy
Polecenie zmiany nazwy nie jest wstępnie zainstalowane. Na szczęście możemy go zainstalować z oficjalnych serwerów pakietów dowolnego Linux Distro.
Istnieją dwie wersje narzędzia, każda z własną składnią i funkcją. W przypadku tego przewodnika skupimy się na tym, który używa Perla.
W przypadku Debian/Ubuntu REAMAME jest dostępna jako pakiet „Zmień nazwę”. Zainstaluj pakiet.
Aktualizacja $ sudo apt
$ sudo apt instal instaluj nazwy nazwy
W przypadku Centos i Fedora nazwa pakietu jest inna. Jest znany jako „nazwa pren”. Zainstaluj pakiet.
$ sudo yum instal instaluj prename
W przypadku Arch Linux nazwa pakietu to „Perl-Rena”. Zainstaluj pakiet.
$ sudo pacman -s perl -wirera
Za pomocą nazwy zmiany
Rzućmy okiem na różne sposoby korzystania z polecenia zmiany nazwy.
Podstawowa struktura polecenia
Narzędzie podąża za następującą strukturą polecenia:
$ Zmień nazwę
Polecenie zmiany nazwy jest w rzeczywistości skryptem perla. Działa za pomocą wyrażenia perla. Jak można się domyślić, użycie go do pełnej wiedzy specjalistycznej w zakresie wyrażeń regularnych Perl.
Chociaż istnieje wiele sposobów konstruowania wyrażenia perla, następujące wyrażenie jest dość powszechne do pracy podczas pracy z poleceniem Zmień nazwy.
$ s// /
Podstawowe użycie
Tutaj mam kilka manekinów gotowych do zmiany nazwy.
Poniższe polecenie zmiany nazwy zmienia nazwę wszystkich rozszerzeń pliku z TXT na tekst.
$ Zmień nazwę s/.tekst/.tekst/' *.tekst
Tutaj pliki docelowe do zmiany nazwy są wyrażane za pomocą symbolu wieloznacznego (*).
Tryb wetbose
Domyślnie Zmień nazwę nie drukuje dużo wyjścia. Jednak posiadanie bardziej szczegółowych szczegółów na temat jego działań może pomóc w różnych scenariuszach, szczególnie jeśli chodzi o debugowanie. W trybie Verbose zmień nazwę Wydrukuj więcej informacji o bieżącym zadaniu, aby lepiej zrozumieć i zidentyfikować możliwe problemy.
Aby uruchomić zmień nazwę w trybie Verbose, dodaj flagę „-V”.
$ Zmień nazwę -v/ s/.tekst/.tekst/' *.tekst
Próba
Podczas zmiany nazwy zmiany są dokonywane na stałe. W wielu sytuacjach doprowadzi to do niepotrzebnych problemów. Aby zapobiec niepożądanym zmianom w nazwach plików i folderów, możemy przetestować polecenie za pomocą suchego biegu.
Suchy przebieg to w zasadzie przebieg testowy, który niczego nie zmienia w przypadku rzeczywistych plików i folderów. Jednak użycie trybu wetbose wydrukuje wyjście, tak jakby faktycznie wykonano polecenie. Dlatego zawsze dobrym pomysłem jest wysuszenie biegu w trybie werbose. Zaleca się wykonanie suchego uruchomienia przed uruchomieniem dowolnej nazwy nazwy w ważnych plikach i folderach.
Aby wykonać suchy bieg, dodaj flagę „-n”.
$ Zmień nazwę -v -n 's/.tekst/.tekst/' *.tekst
Nadpisanie istniejących plików
Domyślnym zachowaniem zmiennym jest nie zastąpienie już istniejących plików. Jeśli nie boisz się zastąpić istniejących, możesz zmusić zmianę nazwy do zastąpienia za pomocą flagi „-f”.
$ Zmień nazwę -v -f 's/.tekst/.tekst/' *.tekst
Próbka Zmień nazwę wyrażeń perla
Podstawowa struktura polecenia zmiany nazwy jest bardzo prosta. Jego główną siłą jest włączenie wyrażeń regularnych Perl. Wyrażenie regularne to sprytny sposób opisania wzoru i określenia działań. Dla początkujących oto przewodnik na temat wyrażenia regularnego za pomocą GREP i EGREP. Chociaż korzystanie z różnych narzędzi, nadal obowiązują podstawy ekspresji regularnej.
Oto krótka lista niektórych powszechnych wyrażeń zmiennych. Zauważ, że są one tylko w celach informacyjnych. Przed zastosowaniem ich w użyciu zawsze wykonuj suchy bieg, aby upewnić się, że działa zgodnie z przeznaczeniem.
Zastąpienie przestrzeni
Następujące wyrażenie zastąpi przestrzenie w nazwach plików.
$ 'y//_/'
Konwersja nazw plików na wielką część
Potrzebujesz nazwy plików w wielkim poziomie? Poniższe wyrażenie perla w połączeniu z poleceniem Zmień nazwę właśnie to zrobi.
$ 'y/a-z/a-z/'
Konwersja nazw plików na małe litery
Poniższe wyrażenie perla, gdy jest używane z zmianą nazwy, zmieni nazwę plików z wielkich na małe litery.
$ 'y/a-z/a-z/'
Usuwanie części nazw plików
Jeśli nazwy plików zawierają niepotrzebną zawartość, zawsze możemy je usunąć za pomocą wyrażenia perla. Na przykład, aby zmienić nazwę plików kopii zapasowej (.bak) do oryginalnych plików możemy po prostu usunąć „.BAK ”Część z nazwy pliku.
$ „s/\ bak $ //”
Zmiana nazwy wielu dopasowania
Powiedzmy, że jesteś z plikami tekstowymi i txt. Pomimo różnych rozszerzeń plików, oba są w tym samym formacie. Zamiast radzić sobie z tekstem i txt, możemy zmienić ich nazwę na pliki txt.
$ S/\.te?XT $/.txt/i '
Podobnie, zamiast radzić sobie z JPEG i JPG, możemy zmienić ich nazwę na JPG.
$ S/\.jpe?G $/.jpg/i '
Zauważ, że w obu przypadkach rozszerzenia plików mają podobieństwa, z wyjątkiem jednego znaku. Dlatego moglibyśmy użyć tego skrótu. Jeśli rozszerzenia plików są zupełnie inne, to nie zadziała.
Wniosek
Polecenie zmiany nazwy jest prostym narzędziem do opanowania. Jest naprawdę potężny, gdy pracujesz z mnóstwem plików i zmieniają je na różne formaty. Bezpieczne jest również włączenie do scenariuszy BASH w celu automatyzacji. Jeśli jesteś początkującym, oto wspaniały przewodnik startowy na temat scenariuszy Bash.
Szczęśliwy komputer!