Adam Automator

czy jesteś nowy w systemie operacyjnym Linux? Jeśli tak, typowe zadania, takie jak zmiana nazwy plików i folderów, mogą być inne niż te, do których jesteś przyzwyczajony. Ale nie martw się. Koncepcja zmiany nazw plików w Linuksie jest podobna jak w innych systemach operacyjnych.

w tym samouczku dowiesz się wielu sposobów zmiany nazw pojedynczych i wielu plików w Linuksie, zarówno za pomocą GUI, jak i poleceń uruchamianych w terminalu.

zaczynajmy!

spis treści

wymagania wstępne

aby postępować zgodnie z tym samouczkiem, upewnij się, że masz następujące informacje:

  • ten samouczek używa Ubuntu 18.04 LTS, ale inne dystrybucje Linuksa będą działać.
  • konto z dostępem sudo / administrator.

zmiana nazw plików za pomocą Menedżera plików

jeśli jesteś przyzwyczajony do zarządzania plikami za pomocą GUI, zacznijmy ten samouczek, aby zmienić nazwy plików za pomocą menedżera plików. Menedżery plików GUI są schludne, ponieważ możesz zobaczyć pliki na widoku. Jednym z tych menedżerów plików dostępnych w Linuksie jest poprzedni menedżer plików GNOME, Nautilus. Ten samouczek pokazuje zmianę nazw plików za pomocą menedżera plików Nautilus.

inne menedżery plików Linuksa to Konqueror, Dolphin, Krusader, Thunar, Nemo file manager i Sunflower file manager. Te menedżery plików wykonują to samo zadanie, ale zmiana nazw plików lub katalogów może się nieco różnić.

Uruchom terminal, a następnie uruchom poniższe polecenie, aby zainstalować Nautilus (install nautilus) za pomocą menedżera pakietów apt, jeśli nie masz go jeszcze na swoim komputerze. Polecenie sudo podnosi polecenie z prawami sudo / administratora.

sudo apt install nautilus

zmiana nazwy pojedynczego pliku

zmiana nazwy pojedynczego pliku w Nautilus zajmuje tylko kilka kliknięć, jak w Eksploratorze plików Windows.

aby zmienić nazwę pojedynczego pliku, otwórz Nautilus, kliknij prawym przyciskiem myszy plik, który chcesz zmienić nazwę, i wybierz Zmień nazwę, jak pokazano poniżej.

ten przykład koncentruje się na zmianie nazw plików, ale proces zmiany nazw plików i katalogów jest taki sam.

zmiana nazwy pojedynczego pliku
zmiana nazwy pojedynczego pliku

Teraz wpisz nową nazwę pliku, aby zastąpić oryginalną nazwę pliku, naciśnij Enter lub kliknij Zmień nazwę i to wszystko.

wprowadzanie nowej nazwy pliku
wprowadzanie nowej nazwy pliku

zmiana nazwy wielu plików za pomocą Menedżera plików Nautilus

podobnie jak w systemie Windows, Ubuntu daje więcej opcji zmiany nazw wielu plików jednocześnie.

aby zmienić nazwę wielu plików, wybierz wszystkie pliki, które chcesz zmienić, kliknij prawym przyciskiem myszy dowolny z nich i wybierz Zmień nazwę. Pojawi się wyskakujące okno, w którym możesz wybrać sposób zmiany nazw wybranych plików.

Zmiana Nazwy Wielu Plików Za Pomocą Nautilusa.
Zmiana Nazwy Wielu Plików Za Pomocą Nautilusa.

Poniżej znajdują się dwie opcje do wyboru w zależności od tego, jak chcesz zmienić nazwy wybranych plików.

  • Zmień nazwy za pomocą szablonu – pozwala to na zmianę nazw plików w przyrostach.
  • znajdź i zamień tekst – pozwala znaleźć i zastąpić określone teksty w nazwach plików.

zmiana nazw plików za pomocą szablonu

aby zmienić nazwy plików za pomocą szablonu, wybierz opcję Zmień nazwę za pomocą szablonu.

teraz wprowadź nazwę zastępczą w pustym polu, aby zmienić nazwy plików za pomocą szablonu, a następnie kliknij przycisk + Dodaj i wybierz z szablonów. W tym samouczku wybierz pierwszy (1,2,3,4) i kliknij Zmień nazwę. Ta opcja dodaje liczby zwiększające do każdego pliku po nazwie pliku zastępczego (Text1, Text2,…).

zmiana nazwy plików za pomocą szablonu
zmiana nazwy plików za pomocą szablonu

zwróć uwagę na nazwy plików zmienione na tekst, a następnie zwiększające się liczby.

weryfikacja nazw plików zmienionych na" tekst "z rosnącą liczbą
weryfikacja nazw plików zmienionych na „tekst” z rosnącą liczbą

Znajdowanie i zastępowanie słów w nazwach plików

aby zmienić nazwę wielu plików na określoną nazwę pliku, wybierz opcję Znajdź i zamień tekst.

wprowadź tekst w istniejącym polu tekstowym i tekst zastępczy w polu Zamień na, a następnie kliknij Zmień nazwę, aby zastąpić tekst. Opcja ta wyszukuje i zastępuje niektóre teksty w nazwach plików.

Zamiana tekstów w nazwach plików
Zamiana tekstów w nazwach plików

teraz możesz zobaczyć poniżej, że zastąpiłeś SŁOWO ” TEKST „na” plik ” w każdej nazwie pliku.

weryfikacja słowa "tekst" została zastąpiona słowem "plik" Na każdym pliku
weryfikacja słowa „tekst” została zastąpiona słowem „plik” Na każdym pliku

zmiana nazw plików za pomocą polecenia mv

jeśli Uruchamianie poleceń jest Twoim zadaniem, zamiast nawigować w interfejsie graficznym, przygotuj się, aby dowiedzieć się, jak zmieniać nazwy plików w terminalu. Zmiana nazw plików w terminalu Linux jest podobna do zmiany nazw w innych środowiskach wiersza poleceń, takich jak PowerShell. Uruchamiasz polecenia, aby zmienić nazwę oryginalnego pliku na nazwę pliku docelowego i to wszystko.

istnieją dwa scenariusze zmiany nazwy pliku. Pierwsza to zmiana nazwy pliku z katalogu roboczego, a druga to podanie pełnej ścieżki. Spójrz na składnię polecenia mv poniżej, aby zmienić nazwę pliku, gdzie source to nazwa oryginalna, a destination to nazwa zastępcza.

# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>

zmiana nazwy pojedynczego pliku za pomocą polecenia mv

chociaż składnia polecenia mv jest wciąż świeża, spróbujmy zmienić nazwę pojedynczego pliku.

aby zademonstrować, jak zmienić nazwę pojedynczego pliku i katalogu:

1. Uruchom terminal, a następnie uruchom serię poniższych poleceń, aby utworzyć katalog i dwa pliki tekstowe.

# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt 

2. Następnie uruchom polecenie ls, aby wyświetlić listę plików w katalogu roboczym. Poniżej możesz zobaczyć ten plik1.txt i file2.txt istnieje w katalogu ~/test.

wyświetlanie plików w katalogu roboczym
wyświetlanie plików w katalogu roboczym

3. Uruchom jedną z poniższych komend mv, aby zmienić nazwę file1.txtna file10.txt.

# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt

zmiana nazwy katalogu jest taka sama jak zmiana nazwy pliku, Jak to: mv ~/test ~/demo. Symbol ~ oznacza katalog domowy.

4. Na koniec ponownie uruchom polecenie ls, aby wyświetlić listę plików w katalogu roboczym.

poniżej możesz zobaczyć ten plik1.txt został teraz przemianowany na file10.txt.

potwierdzam plik1.txt zmienia nazwę na file10.txt
Potwierdzanie pliku1.txt zmienia nazwę na file10.txt

zmiana nazwy wielu plików za pomocą pętli For

jeśli jesteś zbyt zajęty innymi zadaniami i chcesz zmienić nazwy wszystkich plików za jednym zamachem, musisz użyć instrukcji pętli for, takiej jak ta poniżej.

skopiuj poniższy kod tak, jak jest, wklej go w terminalu i naciśnij Enter. Poniższy kod skanuje każdy plik tekstowy w katalogu roboczym i zmienia nazwę plików na „plik”, a następnie zwiększa się liczba.

# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done

wklejanie kodu do terminala działa dobrze, ale jako dobra praktyka, lepiej jest utworzyć plik skryptu do uruchomienia.

poniżej możesz zobaczyć w akcji, jak kod zmienia nazwy wszystkich plików.

zmiana nazw plików za pomocą pętli For
zmiana nazw plików za pomocą pętli For

zmiana nazw plików w Linuksie za pomocą narzędzia Zmień nazwę

jeśli zmieniasz nazwę pojedynczego pliku w codziennej rutynie, wystarczy polecenie mv. Ale być może chcesz zmienić nazwy wielu plików z tym samym wzorem na raz? Na przykład zmiana nazwy plików zaczynających się od określonego słowa (pliku). W takim przypadku zainstaluj zamiast tego narzędzie Zmień nazwę.

narzędzie Zmień nazwę zmienia nazwy wielu plików, zmienia formaty nazw plików i nadpisuje pliki.

aby zainstalować narzędzie Zmień nazwę, uruchom dowolną z poniższych komend w zależności od dystrybucji Linuksa, nad którą pracujesz.

# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename

Poniżej znajduje się składnia polecenia rename.

rename <options> <perlexpr> <files>

zmiana nazw wielu plików

mając na uwadze składnię polecenia rename, możesz teraz zmieniać nazwy plików o tym samym wzorze. To, co jest świetne w poleceniu rename, to to, że nie musisz deklarować funkcji pętli, aby zmienić nazwy wielu plików, tak jak w sekcji „Zmiana nazw wielu plików za pomocą pętli For”.

być może chcesz zmienić nazwy plików z określonymi słowami. Jeśli tak, spójrz na wyrażenie regularne Perla ('s/file/myfile/') w poniższym poleceniu przykład. Wyrażenia regularne Perla definiują wzorzec Łańcuchowy oparty na języku programowania Perl.

aby uniknąć omyłkowej zmiany nazwy innych plików, wymień wszystkie dotknięte pliki przed zmianą nazwy, dodając opcję -n, jak pokazano poniżej.

rename -n 's/file/myfile/' *.txt
wyświetlanie plików dotkniętych przed zmianą nazwy
wyświetlanie plików dotkniętych przed zmianą nazwy

Teraz uruchom jedną z poniższych komend rename, aby zastąpić słowo file słowem myfile w nazwie KAŻDEGO pliku tekstowego w katalogu roboczym lub w katalogu ~/test/*.txt.

w wyrażeniu Perla ('s/file/myfile/'), s oznacza podstawienie, co oznacza zmianę nazw plików. Zauważ, że dodano opcję -v, aby zwrócić pliki o nazwie polecenia.

# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt

poniżej widać, że każde słowo „plik” w plikach tekstowych ma nazwę „myfile.”

zmiana nazwy pliku za pomocą polecenia Zmień nazwę
zmiana nazwy pliku za pomocą polecenia rename

jeśli zamiast tego wolisz zmienić nazwy wszystkich plików, usuń rozszerzenie pliku po określeniu ścieżki pliku, na przykład, rename -v 's/file/myfile/' ~/test/*

Zmiana rozszerzeń plików

oprócz nazw plików polecenie rename zmienia również nazwy rozszerzeń plików. Być może utworzyłeś pliki z nieodpowiednim rozszerzeniem. W takim przypadku określisz rozszerzenie pliku, które ma zostać zmienione w wyrażeniu Perla podczas uruchamiania polecenia rename.

Uruchom polecenie rename poniżej, aby zmienić rozszerzenie wszystkich plików ” (*) z .txt na .html w katalogu ~/test. Symbol $ w wyrażeniu Perla dopasowuje koniec łańcucha (.txt) do każdej nazwy pliku, więc polecenie zmienia tylko rozszerzenia plików .txt. Podobnie jak w przypadku zmiany nazwy wielu plików, Dodaj opcję -v, aby wyświetlić listę każdej zmiany wprowadzonej przez polecenie.

rename -v 's/.txt$/.html/' *.txt

aby usunąć wszystkie rozszerzenia plików, usuń zastępczy ciąg znaków w wyrażeniu Perla, w ten sposób: rename -v 's/.txt$//' *.txt

jak widać na obrazku poniżej,.rozszerzenia txt zmieniono na .html

Zmiana rozszerzeń plików z .txt do .html
Zmiana rozszerzeń plików z .txt do .html

zmiana nazw plików na wielkie i małe

zamiast nieprawidłowych rozszerzeń plików, możesz mieć do czynienia z nazwami małymi i odwrotnie. Być może próbujesz znaleźć plik pisany wielkimi literami, nie wiedząc, że nazwa pliku jest pisana małymi literami.

w Linuksie rozróżniana jest wielkość liter, więc upewnijmy się, że każda nazwa pliku ma właściwą wielkość liter. Wielkość liter jest zasadniczo rozróżnieniem tekstów między małymi i dużymi literami.

Uruchom jedną z poniższych komend rename, aby zmienić wszystkie małe litery (a-z) nazwy plików w katalogu roboczym (*) na wielkie litery (A-Z) i odwrotnie.

# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *

poniżej można zobaczyć oba wyniki zmiany wielkości liter nazwy pliku.

zmiana nazwy pliku z małych na wielkie i na odwrót
zmiana nazwy pliku z małych na wielkie i na odwrót

zastępowanie i usuwanie spacji w nazwach plików

podobnie jak w przypadku liter nazwy pliku, możesz mieć problemy ze znalezieniem plików, jeśli mają spacje w nazwach plików. Naprawmy to albo przez zastąpienie spacji znakiem, albo całkowite usunięcie spacji.

uruchom poniższe polecenie rename, aby zastąpić spacje we wszystkich nazwach plików znakiem podkreślenia (_) w katalogu roboczym. Ponieważ podkreślnik jest metacharakterem, użyj odwrotnego ukośnika (\_), aby zadeklarować podkreślenie dosłownie. Metacharaktery są znakami specjalnymi o specjalnych znaczeniach w programie komputerowym.

zauważ, że g w wyrażeniu Perla mówi poleceniu, aby zastąpiło wszystkie dopasowania (spacje), a nie tylko pierwsze.

rename -v 's/ /\_/g' *

poniżej widać, że polecenie zastąpiło wszystkie spacje znakami podkreślenia.

Zamiana spacji na podkreślniki w nazwie pliku
Zamiana spacji na podkreślniki w nazwie pliku

aby usunąć wszystkie spacje w nazwie pliku zamiast wypełniać je znakiem, uruchom poniższe polecenie.

w poniższym wyrażeniu Perla, gwiazdka po spacji (/ *) pasuje do wszystkich wystąpień spacji w nazwie pliku, a nie tylko do pierwszego. Znak zastępczy jest pusty (//), więc polecenie rename usuwa wszystkie (g) spacje.

rename -v "s/ *//g" *

teraz możesz zobaczyć poniżej, że wszystkie spacje są usuwane z każdej nazwy pliku.

Usuwanie wszystkich spacji w nazwach plików
Usuwanie wszystkich spacji w nazwach plików

używanie wielkich liter każdego słowa w nazwie pliku

jeśli wolisz zachować spacje i zamiast tego używać wielkich liter każdego słowa w nazwie pliku, potrzebujesz bardziej złożonego wyrażenia Perla. Spójrz na przykładowe polecenie poniżej.

poniższe wyrażenie Perla pasuje do dowolnego pojedynczego znaku (\w) w granicy słowa (\b), o ile znak nie jest kropką ani apostrofem (?<!). Polecenie renameprzetłumaczy tę literę na wielką literę (u$&).

rename -v 's/(?<!)\b\w*/\u$&/g' *

poniżej widać, że każde słowo w nazwach plików zaczyna się wielką literą, pozostawiając rozszerzenia plików nietknięte.

wielkie litery każdego słowa w nazwach plików
wielkie litery każdego słowa w nazwach plików

wniosek

w tym samouczku nauczyłeś się wielu sposobów zmiany nazw plików Linuksowych za pomocą GUI i terminala wiersza poleceń. Teraz masz solidne zrozumienie, jak manipulować nazwami dla pojedynczych i wielu plików naraz.

dlaczego nie nauczyć się skryptów powłoki Linuksa i stworzyć skrypt do automatyzacji zmiany nazw plików w Linuksie?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.