Zmień nazwę plików Linux z Zmienioną nazwą

Zmień nazwę plików Linux z Zmienioną nazwą

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!