wprowadzenie

Linux oferuje kilka opcji zmiany nazw plików, w tym za pomocą GUI i wielu dedykowanych poleceń terminala. Dzięki temu stosunkowo łatwo jest zmienić nazwy pojedynczych plików, ale zmiana nazw wielu plików naraz może być trudna.

w tym samouczku omówimy różne polecenia, których możesz użyć w terminalu Linux do zmiany nazw plików w Linuksie.

jak zmienić nazwy plików w Linuksie

wymagania wstępne

  • system z dystrybucją Linuksa
  • konto z uprawnieniami sudo
  • dostęp do okna terminala/wiersza poleceń
  • dostęp do edytora tekstu, takiego jak Vim lub Nano

zmiana nazw plików za pomocą polecenia mv

polecenie Linux mv (Move) służy do przenoszenia plików i katalogów z terminala. Używa następującej składni:

mv 

jeśli podczas używania polecenia mv podasz katalog jako miejsce docelowe, plik źródłowy zostanie przeniesiony do tego katalogu. Jeśli docelowym plikiem jest inna nazwa pliku, polecenie mv zmienia nazwę pliku źródłowego na tę nazwę.

Uwaga: dowiedz się więcej o używaniu polecenia mv w naszym Przewodniku po przenoszeniu katalogów w Linuksie.

Zmień nazwę pojedynczego pliku za pomocą polecenia mv

za pomocą polecenia mv z domyślną składnią pozwala zmienić nazwę pojedynczego pliku:

mv 

na przykład, jeśli chcemy zmienić nazwę przykładu1.txt do example2.txt, użylibyśmy:

mv example1.txt example2.txt

ponieważ nie ma wyjścia, jeśli polecenie powiedzie się, używamy polecenia ls, aby sprawdzić, czy nazwa została zmieniona:

ls -l
zmiana nazwy pojedynczego pliku za pomocą polecenia mv

Zmień nazwy wielu plików za pomocą polecenia mv

samodzielnie, polecenie mv zmienia nazwę pojedynczego pliku. Jednak połączenie go z innymi poleceniami pozwala na zmianę nazw wielu plików w tym samym czasie.

jedną z metod jest użycie polecenia find, aby wybrać wiele plików o podobnej nazwie, a następnie użyj polecenia mv, aby zmienić ich nazwę:

find . -depth -name "" -exec sh -c 'f="{}"; mv -- "$f" "${f%}"' \;

używając tej składni, polecenie find definiuje element bieżącej nazwy pliku jako parametr wyszukiwania. Następnie -exec wykonuje polecenie mv dla wszystkich plików, które pasują do wyszukiwania, zmieniając ich bieżące nazwy na nowe.

na przykład, jeśli mamy przykład1.txt, przykład2.txt i example3.txt i chcesz zmienić rozszerzenie na .pdf:

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;
zmiana nazwy wielu plików za pomocą poleceń znajdź i mv

inną metodą jest użycie polecenia mv jako części pętli <strong>for</strong> w skrypcie bash.

korzystając z tego samego przykładu, zacznij od utworzenia i otwarcia pliku skryptu bash za pomocą edytora tekstu, takiego jak Nano:

sudo nano rename_files.sh

Uwaga: dowiedz się więcej o używaniu skryptów bash do zarządzania plikami i katalogami w Linuksie.

dodaj następujące linie do skryptu:

#!/bin/bashfor f in *.txt; do mv -- "$f" "${f%.txt}.pdf"done

w powyższym skrypcie:

  • pierwsza linia poleca skryptowi wyszukiwanie wszystkich plików w bieżącym katalogu zakończonym na .txt.
  • druga linia używa polecenia mv na każdym znalezionym pliku, aby zastąpić .rozszerzenie txt z .pdf.
  • trzecia linia kończy odcinek pętli.

naciśnij Ctrl+X, następnie wpisz Y i naciśnij Enter, aby zapisać zmiany w skrypcie i zakończyć.

użyj polecenia sh, aby wykonać skrypt:

sh rename_files.sh
zmiana nazwy wielu plików za pomocą skryptu bash

Zmień nazwę pliku za pomocą polecenia Zmień nazwę

polecenie rename służy do zmiany nazw wielu plików lub katalogów w systemie Linux. Oferuje więcej funkcji niż polecenie mv, ale może być trudniejsze w użyciu, ponieważ wymaga podstawowej znajomości wyrażeń Perla.

Jak zainstalować polecenie Zmień nazwę

w wielu dystrybucjach Linuksa polecenie rename nie jest domyślnie dostępne. Jeśli w systemie brakuje polecenia rename, zainstaluj je za pomocą:

  • Dla Ubuntu i Debiana, użyj sudo apt install rename
  • dla CentOS i Fedory, użyj sudo yum install prename
  • dla Arch Linux, użyj sudo pacman -S Zmień nazwę

Zmień składnię poleceń i opcje

istnieją trzy typy wyrażeń regularnych Perla:, zastąpić i przetłumaczyć. Polecenie rename używa zastępczych i tłumaczeniowych wyrażeń do zmiany nazw plików i katalogów.

wyrażenia zastępcze zastępują część nazwy pliku innym ciągiem znaków. Używają następującej składni:

rename 's///' 

w tej składni polecenie zmienia nazwę pliku, zastępując pierwsze wystąpienie elementu filename jego zamiennikiem. W powyższym poleceniu:

  • rename: wywołuje polecenie Zmień nazwę.
  • : dostarcza opcjonalny argument, który zmienia sposób wykonywania polecenia.
  • s: oznacza wyrażenie zastępcze.
  • : określa część nazwy pliku, którą chcesz zastąpić.
  • : określa zamiennik części bieżącej nazwy pliku.
  • : definiuje plik, który chcesz zmienić nazwę.

wyrażenie translate przekłada jeden ciąg znaków na drugi, znak za znak. Ten typ wyrażenia używa następującej składni:

rename 'y///' 

przykład polecenia rename używającego wyrażenia translate:

rename 'y/abc/xyz/'

w tym przykładzie każdy znak a w nazwie pliku jest zastępowany przez x, każdy b Przez y, a każdy c przez z.

polecenie Zmień nazwę używa następujących opcji:

  • -a: zastępuje wszystkie wystąpienia elementu filename zamiast tylko pierwszego.
  • -f: Wymusza nadpisanie istniejących plików.
  • -h: wyświetla tekst pomocy.
  • -i: wyświetla monit przed nadpisaniem istniejących plików.
  • -l: zastępuje ostatnie wystąpienie elementu filename zamiast pierwszego.
  • -n: wykonuje pracę na sucho, nie dokonując trwałych zmian. Najlepiej w połączeniu z wyjściem gadatliwym (-v).
  • -s: zmienia nazwę obiektu docelowego zamiast dowiązania symbolicznego.
  • -v: pokazuje obszerną wersję wyjścia.
  • -V: wyświetla wersję polecenia.

Zmień nazwę przykłady poleceń

1. Zmień rozszerzenie pliku

Wracając do naszego ostatniego przykładu, aby zmienić rozszerzenie pliku z .txt do .pdf, użyj:

rename -v 's/.txt/.pdf/' *.txt
użycie polecenia Zmień nazwę w celu zastąpienia rozszerzenia pliku

2. Zastąpienie części nazwy pliku

zastąpienie innej części nazwy pliku odbywa się w ten sam sposób. Aby zmienić nazwę przykładu1.txt, przykład2.txt i example3.txt do test1.txt, test2.txt i text3.txt, użyj:

rename -v 's/example/test/' *.txt
zmiana nazwy wielu plików za pomocą polecenia Zmień nazwę

3. Usuń część nazwy pliku

opcja rename pozwala również usunąć część nazwy pliku, pomijając zamienną część wyrażenia. Na przykład, jeśli chcemy skrócić przykład do ex:

rename -v 's/ample//' *.txt
usuwanie części nazwy pliku za pomocą polecenia Zmień nazwę

4. Zmiana nazw plików o podobnych nazwach

innym zastosowaniem opcji rename jest zmiana nazw plików o podobnych nazwach. Na przykład, jeśli chcemy zmienić nazwy plików z example I sample w ich nazwie, aby przetestować:

rename -v 's/(ex|s)ample/test/' *.txt
zmiana nazwy wielu plików o podobnych nazwach za pomocą polecenia Zmień nazwę

5. Zmiana nazw plików znak po znaku

polecenie rename pozwala również na używanie wyrażeń tłumaczeniowych do zmiany nazw plików na podstawie znaków po znakach. Na przykład, jeśli chcesz zmienić nazwę wielu plików o nazwie przykładowy plik, zastępując puste miejsce znakiem podkreślenia (_):

rename -v 'y/ /\_/' *.txt
usuwanie spacji z nazw plików za pomocą polecenia Zmień nazwę

6. Konwertuj małe litery

aby przekonwertować małe litery w nazwach plików na wielkie litery, użyj:

rename -v 'y/a-z/A-Z/' *.txt
Konwersja nazw plików z małych liter na wielkie za pomocą polecenia Zmień nazwę

7. Konwertuj Wielkie Litery

odwrotność działa również, jeśli zmienimy kolejność wielkich i małych liter w wyrażeniu:

rename -v 'y/A-Z/a-z/' *.TXT
Konwersja nazw plików z wielkich liter na małe za pomocą polecenia Zmień nazwę

Uwaga: Należy zachować ostrożność podczas zmiany wielkości liter, ponieważ zmienia to również rozszerzenie pliku.

wniosek

po przeczytaniu tego samouczka powinieneś być w stanie zmienić nazwy plików za pomocą poleceń mv i rename w Linuksie.

dowiedz się więcej o używaniu poleceń Linuksa w naszym arkuszu poleceń Linuksa.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.