GNU/Linux >> Znalost Linux >  >> Linux

8 metod, jak v Linuxu přejmenovat více souborů najednou

V tomto tutoriálu se naučíme, jak přejmenovat více souborů najednou v Linuxu pomocí různých nástrojů. Všechny zde uvedené příklady jsou testovány v Ubuntu, měly by však fungovat na všech operačních systémech Linux.

Úvod

Jak už možná víte, používáme mv příkaz k přejmenování nebo přesunutí souborů a adresářů v operačních systémech Linux a Unix.

Ale mv příkaz nebude podporovat dávkové přejmenování souborů najednou. Může přejmenovat pouze jeden soubor najednou. Co byste udělali, kdybyste chtěli přejmenovat více souborů najednou? Nebojte se!

Pro dávkové přejmenování souborů v Linuxu je k dispozici několik dalších nástrojů.

Přejmenujte více souborů najednou v Linuxu

Pro hromadné přejmenování hromady souborů může existovat mnoho příkazů a nástrojů. Při psaní tohoto článku jsem si vědom 8 různých způsobů, jak dávkově přejmenovat soubory. Pokud v budoucnu narazím na nějakou novou metodu, budu seznam průběžně aktualizovat.

Metoda 1 – Dávkové přejmenování souborů pomocí mmv

mmv nástroj se používá k hromadnému přesouvání, kopírování, přidávání a přejmenování souborů pomocí standardních zástupných znaků v operačních systémech Linux a Unix. Je k dispozici ve výchozích repozitářích systémů založených na Debianu.

Chcete-li nainstalovat mmv na Debian, Ubuntu, Linux Mint a Pop OS, spusťte následující příkaz:

$ sudo apt-get install mmv

Řekněme, že ve svém aktuálním adresáři máte následující soubory.

$ ls
a1.txt a2.txt a3.txt

Nyní chcete přejmenovat všechny soubory, které začínají písmenem "a" na "b" . Samozřejmě to můžete udělat ručně během několika sekund.

Ale přemýšlejte, jestli máte stovky souborů a chcete je přejmenovat? Je to poměrně časově náročný proces. Zde je mmv příkaz přichází na pomoc.

Chcete-li přejmenovat všechny soubory začínající písmenem "a" na "b" , jednoduše spusťte:

$ mmv a\* b\#1

Pojďme zkontrolovat, zda byly soubory přejmenovány nebo ne.

$ ls
b1.txt b2.txt b3.txt

Jak vidíte, všechny soubory začínají písmenem "a" (tj. a1.txt , a2.txt , a3.txt ) jsou přejmenovány na b1.txt , b2.txt , b3.txt .

Vysvětlení

Ve výše uvedeném příkladu je první parametr (a* ) je 'from' vzor a druhý parametr je 'to' vzor (b#1 ).

Podle výše uvedeného příkladu bude mmv hledat všechny názvy souborů začínající písmenem 'a' a přejmenujte odpovídající soubory podle druhého parametru, tj. 'to' vzor.

Používáme zástupné znaky, například ‘*’ , ‘?’ a ‘[]‘ , aby odpovídal jednomu nebo více libovolným znakům. Mějte prosím na paměti, že zástupné znaky musíte escapovat, jinak budou rozbaleny shellem a mmv jim nebude rozumět.

‘#1′ v ‘to’ vzor je index zástupných znaků. Odpovídá prvnímu zástupnému znaku nalezenému v ‘from’ vzor. ‘#2′ v ‘to’ vzor by odpovídal druhému zástupnému znaku a tak dále.

V našem příkladu máme pouze jeden zástupný znak (hvězdičku), takže napíšeme #1 . A znak hash by měl být také escapován. Vzory můžete také uzavřít do uvozovek.

Můžete dokonce přejmenovat všechny soubory s určitou příponou na jinou příponu. Chcete-li například přejmenovat všechny soubory .txt soubory do .doc formátu souboru v aktuálním adresáři, jednoduše spusťte:

$ mmv \*.txt \#1.doc

Zde je další příklad. Řekněme, že máte následující soubory.

$ ls
abcd1.txt abcd2.txt abcd3.txt

Chcete nahradit první výskyt abc s xyz ve všech souborech v aktuálním adresáři. Jak byste to udělali vy?

Jednoduché.

$ mmv '*abc*' '#1xyz#2'

Vezměte prosím na vědomí, že ve výše uvedeném příkladu jsem vzory uzavřel do jednoduchých uvozovek.

Pojďme zkontrolovat, zda je "abc" skutečně nahrazeno "xyz" nebo ne.

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

Vidět? Soubory abcd1.txt , abcd2.txt a abcd3.txt byly přejmenovány na xyzd1.txt , xyzd2.txt a xyzd3.txt .

Další pozoruhodnou vlastností příkazu mmv je, že můžete pouze tisknout výstup namísto přejmenování souborů pomocí -n možnost jako níže.

$ mmv -n a\* b\#1 
a1.txt -> b1.txt
a2.txt -> b2.txt
a3.txt -> b3.txt

Tímto způsobem můžete před přejmenováním souborů jednoduše ověřit, co by příkaz mmv skutečně udělal.

Další podrobnosti naleznete na manuálových stránkách.

$ man mmv

Metoda 2 – Hromadné přejmenování souborů pomocí nástroje pro přejmenování

Přejmenovat obslužný program přejmenuje dané soubory tak, že první výskyt výrazu v jejich názvu nahradí nahrazením.

Příkaz přejmenovat je předinstalován ve většině operačních systémů podobných Unixu. Pokud není ve výchozím nastavení k dispozici, spusťte následující příkaz a nainstalujte jej na systémy založené na Debianu:

$ sudo apt install rename

V aktuálním adresáři mám například následující soubory.

$ ls
abcd1.txt abcd2.txt abcd3.txt

Nahradíme první výskyt abc s xyz kdekoli nalezen. Chcete-li to provést, spusťte:

$ rename 's/abc/xyz/' *

Nyní ověřte, zda byly změny provedeny pomocí ls příkaz.

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

Někdy můžete místo přejmenování souborů pouze vytisknout výstup. Pokud ano, použijte -n příznak pro zobrazení toho, která přejmenování by nastala bez jejich provedení:

$ rename -n 's/abc/xyz/' *
rename(abcd1.txt, xyzd1.txt)
rename(abcd2.txt, xyzd2.txt)
rename(abcd3.txt, xyzd3.txt)

Jak můžete vidět, výše uvedený příkaz neprovedl žádné změny, místo toho pouze zobrazuje, která přejmenování nastanou.

Úlohu přejmenování můžete vynutit, i když by operace přepsala existující soubory pomocí -f příznak jako níže.

$ rename -f 's/abc/xyz/' *

Pokud nechcete soubory přepisovat, můžete je jednoduše převést na velká nebo malá písmena (a naopak), abyste předešli chybám „již existuje“.

Chcete-li převést všechny názvy souborů na malá písmena, postupujte takto:

$ rename 'y/a-z/A-Z/' *

Pojďme zkontrolovat, zda byly změny provedeny.

$ ls
ABCD1.TXT ABCD2.TXT ABCD3.TXT

Ano, písmena v názvech souborů byla změněna z malých na velká.

Podobně, chcete-li převést názvy souborů na malá písmena, spusťte:

$ rename 'y/A-Z/a-z/' *

Můžeme také odstranit všechny prázdné řádky v názvu souboru. Mám například následující soubor.

$ ls
Clouds of Sunset.mp3

Chcete-li odstranit všechna prázdná místa ve výše uvedeném souboru, spusťte:

$ rename "s/ *//g" *

Nyní název souboru neobsahuje žádná prázdná místa.

$ ls
CloudsofSunset.mp3

Nahraďte prázdná místa podtržítky:

$ rename 's/\s+/_/g' *

Možná budete chtít změnit příponu souboru, ale nepřejmenovat názvy souborů. Je to také možné. Následující příkaz by přejmenoval všechny *.txt soubory do *.doc .

$ rename 's/\.txt$/.doc/' *.txt

Ověřte změny pomocí ls příkaz:

$ ls
abcd1.doc abcd2.doc abcd3.doc

Chcete-li odstranit příponu ve všech souborech odpovídajících .txt , spustit:

$ rename 's/\.txt$//' *.txt

Další podrobnosti naleznete na manuálových stránkách.

$ man rename

Metoda 3 – Přejmenujte soubory pomocí renameutils

Nástroj renameutils je sada programů, která je navržena pro rychlejší a jednodušší dávkové přejmenování souborů a adresářů.

Renameutils se skládá z následujících pěti programů:

  1. qmv (rychlý pohyb),
  2. qcp (rychlá kopie),
  3. imv (interaktivní přesun),
  4. icp (interaktivní kopie),
  5. deurlname (smazat adresu URL).

Nainstalujte renameutils v Linuxu

Renameutils je k dispozici ve výchozích úložištích většiny distribucí Linuxu. Chcete-li jej nainstalovat na systémy založené na Arch, povolte komunitní úložiště a spusťte:

$ sudo pacman -Syu renameutils

Na systémech založených na Debianu:

$ sudo apt install renameutils

Nyní se podívejme na několik příkladů.

1. qmv

Program qmv otevře názvy souborů v adresáři ve vašem výchozím textovém editoru a umožní vám je upravovat.

V adresáři s názvem 'ostechnix' mám následující tři soubory.

$ ls ostechnix/
abcd1.txt abcd2.txt abcd3.txt

Chcete-li přejmenovat názvy souborů v adresáři 'ostechnix', jednoduše proveďte:

$ qmv ostechnix/

Nyní změňte názvy souborů, jak chcete. Při úpravě názvů souborů uvidíte živý náhled.

Případně můžete CD do adresáře a jednoduše spustit 'qmv' .

Jakmile otevřete soubory, uvidíte dva sloupce, jak je znázorněno na následujícím snímku obrazovky.

V levém sloupci se zobrazují názvy zdrojových souborů a v pravém sloupci se zobrazují názvy cílových souborů (výstupní názvy souborů, které získáte po úpravách).

Nyní přejmenujte všechny názvy výstupů na pravé straně, jak chcete.

Po přejmenování názvů souborů soubor uložte a ukončete.

Nakonec uvidíte následující výstup:

Plan is valid.

abcd1.txt -> xyzd1.txt
abcd2.txt -> xyzd2.txt
abcd3.txt -> xyzd3.txt
   Regular rename

abcd1.txt -> xyzd1.txt
abcd2.txt -> xyzd2.txt
abcd3.txt -> xyzd3.txt

Nyní zkontrolujte, zda byly změny skutečně provedeny pomocí 'ls' příkaz:

$ ls ostechnix/
xyzd1.txt xyzd2.txt xyzd3.txt

Vidět? Všechny soubory jsou přejmenovány. Nejen soubory, renameutils také přejmenuje názvy adresářů.

Zde je rychlé video demo programu qmv:

Pokud nechcete upravovat názvy souborů ve formátu dvou sloupců, použijte následující příkaz k zobrazení pouze sloupce cílového souboru.

$ qmv -f do ostechnix/

Kde, '-f' odkazuje na format a 'do' odkazuje na destination-only .

Nyní uvidíte pouze cílový sloupec. To je sloupec, ve kterém provádíme změny.

Po dokončení uložte a zavřete soubor.

Další podrobnosti naleznete na manuálových stránkách.

$ man qmv

2. qcp

Program qcp funguje jako qmv, ale místo přejmenování soubory kopíruje. V tomto případě získáte dvě instance stejného souboru. To znamená, že zachová původní i duplicitní soubory.

$ qcp ostechnix/

Přejmenujte názvy souborů uvedené na pravé straně. Uložte a ukončete soubor. Nakonec ověřte provedené změny pomocí příkazu ls:

$ ls ostechnix/
abcd1.txt abcd2.txt abcd3.txt xyzd1.txt xyzd2.txt xyzd3.txt

Další podrobnosti naleznete na manuálových stránkách.

$ man qcp

3. imv

Program imv nám umožňuje interaktivně přejmenovávat názvy souborů. Je zřejmé, že to není pro hromadné přejmenování. Soubory můžete přejmenovat pouze jeden po druhém.

$ imv ostechnix/abcd1.txt

Upravte název souboru, jak chcete, a stisknutím klávesy ENTER jej přejmenujte.

Další podrobnosti naleznete na manuálových stránkách.

$ man imv

4. icp

Program icp je stejný jako imv , ale soubory zkopíruje, místo aby je přesunul.

Příklad:

$ icp ostechnix/abcd1.txt

Další případy použití a příkazy naleznete na manuálových stránkách.

$ man icp

Nevím, proč vývojáři přidali tyto dva nástroje, zatímco my můžeme udělat totéž pomocí mv a cp příkaz.

5. deurlname

deurlname program odstraňuje znaky zakódované v URL (například %20 představující prostor) z názvů souborů. Některé programy, například w3m , mají tendenci uchovávat tyto znaky zakódované v uložených souborech.

Tento nástroj můžete použít k vyčištění názvů souborů stažených z internetu.

Podívejte se na následující soubor.

$ ls
omg%20ponnu%20ily%20kannu.mp3

V názvu souboru jsou speciální znaky a čísla. Pokud to vyčistíte, stačí spustit:

$ deurlname omg%20ponnu%20ily%20kannu.mp3

Nyní se podívejte, jak se změnil název souboru.

$ ls
omg ponnu ily kannu.mp3

Název souboru je čistý a čitelný.

Další podrobnosti naleznete v manuálových stránkách.

$ man deurlname

Podívejte se také na webové stránky projektu uvedené na konci této příručky.

Metoda 4 – Přejmenujte více souborů najednou pomocí vimv

Jak název napovídá, Vimv je nástroj příkazového řádku pro hromadné přejmenování souborů pomocí Vim editor. Editor můžete samozřejmě změnit změnou hodnoty $EDITOR proměnná prostředí.

Chcete-li nainstalovat Vimv, git klonujte úložiště:

$ git clone https://github.com/thameera/vimv.git

Zkopírujte binární soubor vimv do vaší $PATH , například /usr/local/bin/ .

$ sudo cp vimv/vimv /usr/local/bin/

Nakonec jej udělejte spustitelným:

$ sudo chmod +x /usr/local/bin/vimv

Nyní přejděte do adresáře a spusťte následující příkaz pro úpravu názvů souborů.

$ vimv

V editoru Vi uvidíte názvy souborů. Stiskněte i pro přepnutí do interaktivního režimu a úpravu názvů souborů stejným způsobem, jakým upravujete text v editoru Vi. Po dokončení stiskněte ESC a zadejte :wq uložit a ukončit.

Soubory v adresáři by nyní měly být přejmenovány. Zde je krátké video demo.

Další podrobnosti naleznete v úložišti projektu GitHub na konci této příručky.

Metoda 5 - Dávkové přejmenování souborů pomocí Emacs

Pokud máte systém s nainstalovaným editorem Emacs, můžete dávkové přejmenování snadno provést podle následujících kroků.

1. Otevřete svůj editor Emacs.

2. Stiskněte Alt+x a zadejte následující a stiskněte ENTER pro přepnutí do wdired-mode (zkratka pro "writable directory editor mode").

$ dired

3. Zadejte cestu k adresáři (např. /home/sk/ostechnix ), který obsahuje soubory k přejmenování a stiskněte ENTER klíč.

4. Poté stiskněte Ctrl+x a Ctrl+q pro přepnutí do režimu čtení a zápisu.

5. Nyní přejmenujte soubory. Po dokončení stiskněte Ctrl+c a Ctrl+c (dvakrát) pro uložení změn. Chcete-li změny zrušit, stiskněte Ctrl+c a Ctrl+k .

Podívejte se na ukázkové video:

Vidět? Je velmi jednoduché přejmenovat více souborů najednou.

Metoda 6 – Hromadné přejmenování souborů pomocí správce souborů Thunar

Správce souborů Thunar má vestavěné hromadné přejmenování možnost ve výchozím nastavení.

Thunar je k dispozici ve výchozích úložištích většiny distribucí Linuxu.

Chcete-li jej nainstalovat na systémy založené na Arch, spusťte:

$ sudo pacman -S thunar

Na Fedoře, RHEL, CentOS, AlmaLinux, Rocky Linux:

$ sudo dnf install thunar

Nebo,

$ sudo yum install thunar

Na openSUSE:

$ sudo zypper install thunar

V systémech Debian, Ubuntu, Linux Mint:

$ sudo apt-get install thunar

Po instalaci můžete spustit nástroj pro hromadné přejmenování z nabídky nebo ze spouštěče aplikací. Chcete-li jej spustit z Terminálu, použijte následující příkaz:

$ thunar -B

Takto vypadá hromadné přejmenování.

Klikněte na znaménko plus a vyberte seznam souborů, které chcete přejmenovat. Hromadné přejmenování může přejmenovat název souborů, příponu souborů nebo jak název, tak příponu souborů.

Thunar aktuálně podporuje následující hromadné přejmenovávače:

  • Vložte datum nebo čas
  • Vložit nebo přepsat
  • Číslování
  • Odebrat znaky
  • Vyhledat a nahradit
  • Velká / malá písmena

Když ze seznamu vyberete jedno z těchto kritérií, uvidíte náhled změn v Novém názvu sloupec, jak je znázorněno na níže uvedeném snímku obrazovky.

Jakmile zvolíte kritéria, klikněte na Přejmenovat soubory možnost přejmenovat soubory.

Hromadný přejmenovávač můžete otevřít také z Thunar výběrem dvou nebo více souborů. Po výběru souborů stiskněte F2 nebo klikněte pravým tlačítkem a vyberte Rename .

Doporučené čtení:

  • [Bash Tips] Přejmenování souborů bez zadávání celého jména dvakrát v Linuxu

Metoda 7 – Přejmenujte seznam souborů pomocí KRename

KRename je dávkový přejmenovávač souborů, který dokáže přejmenovat seznam souborů na základě sady výrazů. Umožňuje přejmenovat velké množství souborů jednoduchým přidáním posloupnosti čísel nebo změnou velikosti písmen.

KRename je speciálně navržen a standardně nainstalován v distribucích KDE. Můžete jej také nainstalovat na jiné distribuce Linuxu.

Chcete-li například nainstalovat KRename na Fedoru, jednoduše spusťte:

$ sudo dnf install krename

Spusťte aplikaci KRename ze spouštěče aplikací nebo nabídky a přidejte všechny soubory, které chcete přejmenovat, do Soubory sekce.

V Cíl v sekci, ujistěte se, že jste vybrali možnost "Přejmenovat vstupní soubory"..

V zásuvných modulech si můžete vybrat libovolný plugin(y), který poskytuje různé značky při přejmenovávání souborů.

V poslední části sekce si můžete vybrat schéma přejmenování, které chcete použít. Ve spodní části uvidíte náhled podle zvoleného schématu. Jakmile budete s vybranými možnostmi v pořádku, klikněte na tlačítko Dokončit a přejmenujte soubory.

Přejmenované soubory budou uloženy na stejném místě.

KRename je funkčně bohatý nástroj pro přejmenování. Při přejmenovávání souborů má tolik možností. Většina možností je samovysvětlující.

Metoda 8 – Přejmenujte více souborů a složek pomocí Smart file renamer

Smart File Renamer je grafický program pro přejmenování více souborů najednou. Pomocí inteligentního přejmenování souborů můžete snadno a rychle přejmenovat soubory a adresáře najednou pomocí několika kliknutí myší. Jedná se o multiplatformní aplikaci, která podporuje Linux, macOS a Windows. Na rozdíl od jiných programů je proprietární. Bezplatná verze má pouze omezené funkce.

Smart File Renamer je k dispozici jako balíček snap. Můžete jej nainstalovat pomocí následujícího příkazu:

$ sudo snap install smart-file-renamer

Po instalaci jej spusťte z nabídky nebo spouštěče aplikací. Přidejte soubory a adresáře, které chcete přejmenovat, a klepněte na tlačítko Přejmenovat ve spodní části.

Podporuje mnoho pravidel a filtrů pro dávkové přejmenování. Stačí je vybrat na pravé straně okna aplikace a stisknout tlačítko Přejmenovat.

Závěr

Tady máš! V této příručce jsme probrali 8 metod hromadného přejmenování souborů v Linuxu. Poskytli jsme jak příkazový řádek, tak grafické programy pro přejmenování více souborů najednou. Stačí si vybrat ten, který vám vyhovuje, a dokončit práci.

A to je zatím vše. Doufám, že to bylo užitečné. Znáte nějakou jinou metodu, jak přidat do tohoto seznamu? Uveďte je prosím v sekci komentářů níže. Tuto příručku podle toho zkontroluji a aktualizuji.


Linux
  1. Přejmenujte soubor v terminálu Linux

  2. Jak přejmenovat soubory v Linuxu

  3. Jak komprimovat více souborů v systému Linux

  1. Jak přejmenovat více souborů dohromady v Linuxu pomocí 3 metod

  2. Odstranění části názvu souboru pro více souborů v systému Linux

  3. Linux Bash:Přesun více různých souborů do stejného adresáře

  1. Jak přejmenovat více souborů pomocí funkce Najít?

  2. Jak přejmenovat více souborů najednou v Linuxu

  3. Linux:Odeberte přípony souborů pro více souborů