Jak mogę zmienić nazwę wielu plików jednocześnie?

43

Muszę zmienić nazwę kilku plików, aby naprawić ich porządek sortowania, dlatego muszę być w stanie wykonać „znajdź i zamień”, aby móc zastąpić fragmenty nazw plików na raz.

Z jakich narzędzi powinienem korzystać? Wolę GUI, ale rekomendacja narzędzia wiersza poleceń również byłaby odpowiednia.

Jorge Castro
źródło

Odpowiedzi:

54

Istnieje kilka, ale polecam gprename, Zainstaluj gprename który jest dobrym kompromisem między użytecznością a funkcjonalnością.

Inne narzędzia to: zmiana nazwy, krename Zainstaluj Krename , pyrenamer Zainstaluj pyrenamer , cuteRenamer, ...

Ralf Hersel
źródło
6
pyRenamer wcale nie jest taki zły.
skalka
6
Często używam pyrenamer, a czasem gprename, chyba że zmiana jest bardzo łatwa w linii poleceń. Najlepszą rzeczą w tych GUI jest wbudowana akcja „podglądu”. Pozwoli to zaoszczędzić ci bólu głowy.
belacqua
4
+1 za gprename, po prostu spróbowałem i zrobiłem potrzebną zmianę nazwy w 5 sekund
Pisu
Wstyd ani gprename, ani pseudonim nie mogą pobierać listy plików do zmiany nazwy z wiersza poleceń
artfulrobot
gprename jest świetny na 14.04. Czy 300 folderów
zmieniło
10

Naprawdę lubię qmv z renameutilspakietu. Umożliwia używanie ulubionego (opartego na terminalu) edytora tekstu do zmiany nazw plików. Wolę ją wywoływać, -f doktóra daje jedną kolumnę (jeden wiersz na plik) z nazwami plików. W połączeniu z mocą Vima zapewnia wszystkie narzędzia potrzebne do masowej edycji plików.

http://www.nongnu.org/renameutils/

dempa
źródło
7

Przemieniać

https://github.com/metamorphose

może być trochę trudny w obsłudze, ale naprawdę potężny!

perseo22
źródło
Naprawdę podoba mi się ten. Jest dość potężny i działa na wszystkich głównych platformach.
Daniels
5

Jeśli podoba Ci się wyrażenie regularne powłoki i perla, polecam rename. To tak proste, jak sama nazwa.

dezorientować
źródło
3

Jeśli znasz Emacsa, myślę, że nic nie przebije Dired dla tego zadania. Nawet jeśli nie używasz Emacsa tak często, Dired może znaleźć przydatne narzędzie.

sudo aptitude install emacs23-nox

Uruchom tryb Emacs Dired dla katalogu:

emacs -nw path/to/dir/

Teraz przejdź do trybu edycji katalogu:

C-x C-q (czyli Ctrl + x, a następnie Ctrl + q)

Możesz teraz edytować nazwy plików, takie jak edycja tekstu w każdym edytorze zwykłego tekstu. Możesz nawet zastąpić nazwy plików przy użyciu wyrażeń regularnych (pamiętaj, że Emacs niestety używa innej składni niż PCRE).

Na przykład, aby zmienić nazwę plików licznikiem (zaczynając od 1):
M-x replace-regexp(to znaczy Alt + x, po którym następuje ciąg „replace-regexp” wpisany w minibuforze na dole ekranu).
Zamień wyrażenie regularne: DSCN\([0-9]+\).JPG
Zamień na: \,(format "P%04d.jpg" (1 + \#))

Aby ponownie użyć licznika w nazwie pliku:
M-x replace-regexp
Zamień wyrażenie regularne: DSCN\([0-9]+\).JPG
Zamień na:\,(format "P%04d.jpg" (string-to-number \1))

Po zakończeniu wpisz:

C-c C-c (czyli Ctrl + c, a następnie Ctrl + c)

Możesz też nacisnąć następującą sekwencję, aby przerwać zmiany:

C-c Esc (czyli Ctrl + c, po którym następuje Esc)

Matthias P.
źródło
2

Często używam mmv , który jest oparty na linii poleceń i ma nieco dziwaczną składnię wyrażeń, ale zazwyczaj rozwiązuje większość moich problemów.

Pan Shark
źródło
1

Jeśli korzystasz z Nautilus i wiesz, jak działają Skrypty Nautilus, możesz użyć nautilus-renamer .

Erik Lundmark
źródło
0

W wierszu poleceń istnieje również możliwość użycia magii sed i powłoki:

ls *.c | sed "s#\(.*\)\.c#mv \0 \1.cpp#" | sh
Pan Shark
źródło
1
To nie wydaje się działać tak, jak wydrukowano. Możesz również użyć „#” lub innego znaku zamiast „\” jako separatorów w przykładach dla możliwie większej przejrzystości. np. `ls .c | sed 's # ([az] ) \. c # \ 1.cpp #' '(Ten przykład nie zmienia nazwy, tylko dla uproszczenia wyświetla nową nazwę pliku)
belacqua 21.01.11
+1 Uważam, że to naprawdę fajny sposób (który dodatkowo działa we wszystkich dystrybucjach), bez instalowania czegokolwiek. Ale prawdopodobnie użyłbym -dprzełącznika, lsaby uniknąć wyświetlania zawartości katalogów, które również mogą się kończyć .c(przez większość czasu nie stanowi to problemu, ale nadal…).
Levite,
0

Windows ma naprawdę dobry program do tego o nazwie Bulk Rename Utility. Oto adres URL: http://www.bulkrenameutility.co.uk/Main_Intro.php .

Istnieje wersja systemu Windows 98 z Unicode, która jest przenośna. Umieszczam to w folderze na moim systemie Linux (Mint Maya) i kiedy uruchamiam go przez Wine, działa to jak urok. GUI jest bardzo łatwy w użyciu i bardzo elastyczny.

Kevin Walburn
źródło
Prawie chcę uruchomić to w winie. Jest o wiele lepszy niż pyRenamer.
Teque5
0

Dla mnie pyRenamer działał najlepiej. Nic (niestety) nie zbliża się do tego, że Total Commanders zbudował to narzędzie do zmiany nazw. pyRenamer nie integruje się z Krusaderem, ale biorąc pod uwagę fakt, że często nie używasz narzędzi do zmiany nazwy, pyRenamer jest bardzo dobrą opcją.

Artur Barseghyan
źródło
0

Używam tego narzędzia: rnm ( strona podręcznika man ) ( więcej przykładów )

Niektóre wykorzystanie:

rnm file-name -ns new-filename             # single file
rnm ./* -ns '/n//i/'                       # files will be sorted and indexed.
rnm ./* -rs '/search/new/g'                # 'search' in filenames will be replaced with 'new'
rnm ./* -ns '/fn//i/' -ss 'search'         # only files/directories which contain 'search' in their name will be indexed (renamed).
rnm ./* -ns '/fn//id/' -fo                 # file only mode, directories will be ignored.
rnm ./* -ns '/fn//id/' -fo -dp -1          # recursive to subdirectories all the way.

etc...
Jahid
źródło
Link do strony internetowej prowadzi do neurobin.org/projects/softwares/unix/rnm i daje 404.
muru
@muru: hmm, coś się stało ze stroną, zaktualizowałem link do strony man.
Jahid
0

Osobiście używam Ant Renamer z Wine, ponieważ nic, czego nie próbowałem (Métamorphose, PyRenamer, GPRename, KRename), jest tak potężny, łatwy w instalacji i łatwy w użyciu. I wciąż jest FOSS, więc nie widzę problemu.

Gamnamno
źródło
0

Krename jest graficznym interfejsem KDE do zmiany nazw plików, zwykle znajdowanym w większości menedżerów pakietów.

Ta odpowiedź dotyczy usuwania wiodących numerów, które można znaleźć w plikach muzycznych, takich jak mp3. Ale Krenamemasowa nazwa również się zmienia.

  1. Załaduj wybrane pliki lub folder. Krename ładuje wszystkie pliki w wybranym folderze, po prostu kliknij, Openbez konieczności indywidualnego wybierania wszystkich plików.

  2. Przejdź do Destinationzakładki, aby zastąpić lub skopiować pliki do innego folderu.

  3. Przejdź do Filenamezakładki, a następnie do Advanced Filenamezakładki.

     Obraz „Zaawansowana nazwa pliku” pokazujący ustawienia domyślne.

  4. Zacznij od usunięcia tokena $w Templateoknie. Zmiana odbywa się w Renamedoknie poniżej. Nie pojawiają się nazwy plików, tylko rozszerzenia plików.

    3. Obraz pokazuje, że nazwy plików zostały usunięte, pozostawiając rozszerzenia plików.

  5. Kliknij Insert Part of Filename...i wybierz części nazwy pliku, które chcesz zachować. Ta operacja obejmie wszystkie pliki, a zmiany będą widoczne w Renamedponiższym oknie.

    4. Obraz „Wstaw część nazwy pliku ...” pokazujący, jak wybrać nazwę pliku, podświetlając preferowane sekcje.

  6. Kliknij OK. Pliki są zmieniane bez wiodących numerów.

    5. Pokazane wyniki końcowe.

  7. Na koniec kliknij Finishedw prawym dolnym rogu.

Scott
źródło
0

Nowszym narzędziem do zmiany nazwy partii GUI działającym w systemie Linux (działa również na komputerach Mac i Windows) jest Inviska Rename .

wprowadź opis zdjęcia tutaj

Oprócz zwykłych funkcji zmiany nazwy, takich jak zamiana fragmentu tekstu na inny tekst, wstawianie lub usuwanie tekstu, zmiana nazw rozszerzeń plików itp., To narzędzie może zmieniać nazwy folderów, zmieniać nazwę muzyki na podstawie znaczników i zmieniać nazwy zdjęć przy użyciu informacji Exif. Może nawet zmieniać nazwę partii za pomocą atrybutów pliku, takich jak data utworzenia lub modyfikacji.

Inne funkcje obejmują podgląd nowych nazw plików i cofanie zmiany nazwy partii, co uważam za bardzo przydatne.

Źródło

Logix
źródło