Metoda 1: pętla bash
Najczęstszym sposobem zmiany rozszerzeń plików w katalogu jest użycie bashu do pętli. Możemy skłonić użytkownika do wprowadzenia katalogu docelowego, starego rozszerzenia i nowego rozszerzenia na zmianę nazwy za pomocą skryptu bash.
Krok 1: Zbierz skrypt
Zacznijmy montować skrypt. Pierwszą częścią, której potrzebujemy, jest uzyskanie katalogu docelowego. W tym celu możemy basować czytaj jako:
#!/bin/bash
echo „Wprowadź katalog docelowy”
Przeczytaj Target_dir
CD $ Target_dir
echo „Wprowadź rozszerzenie pliku, aby wyszukać bez kropki”
Przeczytaj Old_Ext
echo „Wprowadź nowe rozszerzenie pliku, aby zmienić nazwę bez kropki”
Przeczytaj nowy_ext
echo "$ tarme_dir, $ old_ext, $ new_ext"
Powyższy skrypt poprosi użytkownika o przetworzenie katalogu, a następnie CD do katalogu SET.
Następnie otrzymujemy stare rozszerzenie bez kropki (.); Wreszcie, otrzymujemy nowe rozszerzenie, aby zmienić nazwę plików.
Teraz przetwarzajmy pliki. Dla tego; Możemy zaimplementować prostą regułę, która rekurencyjnie wyszukuje pliki jako:
dla pliku w *.$ old_ext
Do
mv -v "$ plik" "$ plik%.$ old_ext.$ new_ext "
zrobione;
Powyższa pętla będzie przeszukiwać karty podawane wszystkie pliki ze starym rozszerzeniem i zmieni je na nowe rozszerzenie.
Aby uzyskać Vairbose, używamy polecenia MV z -v. Możesz stłumić to wyjście, zastępując flagę -V -
Krok 2: Uruchom skrypt
Teraz umieśćmy skrypt do testu. Ostateczny skrypt jest poniżej:
#!/bin/bash
echo „Wprowadź katalog docelowy”
Przeczytaj Target_dir
CD $ Target_dir
echo „Wprowadź rozszerzenie pliku, aby wyszukać bez kropki”
Przeczytaj Old_Ext
echo „Wprowadź nowe rozszerzenie pliku, aby zmienić nazwę bez kropki”
Przeczytaj nowy_ext
echo "$ tarme_dir, $ old_ext, $ new_ext"
dla pliku w *.$ old_ext
Do
mv -v "$ plik" "$ plik%.$ old_ext.$ new_ext "
zrobione;
W tym teście użyjemy katalogu /var /log i zmienimy nazwę wszystkich .pliki dziennika do .Bak. Oto zawartość katalogu przed uruchomieniem skryptu.
$ ls l/var/log/| Grep .dziennikTeraz uruchommy skrypt.
$ chmod +x rozszerzenia.ciiZrzut ekranu powyżej pokazuje skrypt przetwarzający pliki i zmieniając nazwę wszystkich plików za pomocą .Zaloguj się do .Bak.
Ponieważ jest to skrypt interaktywny, przydaje się, gdy nie chcesz twardego kodu rozszerzenia.
Poniżej znajduje się zawartość katalogu /var /log po skrypcie.
$ ls -l/var/log/| Grep .BakAby przywrócić zmiany, przełącz stare rozszerzenie na .Bak i nowe rozszerzenie jako .dziennik
Metoda 2: Zmień nazwę polecenia
Jeśli nie masz ochoty pracować ze skryptem, możesz użyć narzędzia Zmień nazwę do rekurencyjnej zmiany rozszerzeń plików.
Aby zainstalować nazwę Zmień, użyj polecenia:
$ sudo apt -get instalacja Zmień nazwę -yPo zainstalowaniu możesz użyć polecenia zmiany nazwy jako:
# Zmień do katalogu docelowegoAby przywrócić zmiany, zmień .Bak to .log i odwrotnie.
$ sudo zmieniając nazwę s/\.Bak/.dziennik/' *.BakMetoda 3: Polecenie MMV
Możesz także użyć polecenia MMV, które pozwala przenosić wiele plików jednocześnie. Zainstaluj MMV z poleceniem:
$ sudo apt-get instaluj mmvAby zmienić nazwę plików za pomocą polecenia MMV:
$ cd/var/log/Nr 1 przenosi pliki do bieżącego katalogu. Po uruchomieniu polecenia zmieni nazwę .pliki dziennika do określonego rozszerzenia.
Podsumowując
W tym artykule omówiono różne metody, które można rekurencyjnie zmienić rozszerzenia plików w określonym katalogu. Warto jednak zauważyć, że możesz wdrożyć strategie inne niż te omówione w tym przewodniku.
Dziękujemy za przeczytanie i pamiętaj o podzieleniu się!