Android

Příkaz Přejmenovat v Linuxu (přejmenovat více souborů)

Revolution OS - 2001 - Multilingual (16 languages)

Revolution OS - 2001 - Multilingual (16 languages)

Obsah:

Anonim

Přejmenování více souborů a adresářů pomocí příkazu mv může být zdlouhavý proces, protože zahrnuje psaní složitých příkazů pomocí trubek, smyček atd.

Zde se hodí příkaz pro rename . Přejmenuje dané soubory nahrazením vyhledávacího výrazu v názvu zadanou náhradou.

V tomto tutoriálu si vysvětlíme, jak pomocí příkazu přejmenovat dávkové přejmenování souborů.

Instalace rename

Existují dvě verze příkazu rename s odlišnou syntaxí a funkcemi. Použijeme Perl verzi příkazu rename .

Pokud tato verze není na vašem systému nainstalována, nainstalujte ji pomocí správce balíčků vaší linuxové distribuce:

  • Ubuntu a Debian

    sudo apt update sudo apt install rename

    CentOS a Fedora

    sudo yum install prename

    Arch Linux

    yay perl-rename

Pomocí rename

Obecná syntaxe příkazu rename :

rename perlexpr files

Příkaz rename je v podstatě skript Perl. Bude přejmenovat dané files podle zadaného regulárního výrazu perlexpr . O pravidelných výrazech Perl si můžete přečíst zde.

Například následující příkaz změní příponu všech souborů .css na .scss :

rename 's/.css/.scss/' *.css

Vysvětlíme příkaz podrobněji:

  • s/search_pattern/replacement/ - Operátor substituce. .css - Vzorec vyhledávání. Je to první argument v substitučním operátorovi. Příkaz rename vyhledá tento vzor v daném názvu souboru a pokud bude nalezen, nahradí jej argumentem nahrazení. .scss - Náhrada. Druhý argument u substitučního operátora. *.css - Všechny soubory s příponou „.css“. Zástupný znak ( * ) je symbol používaný k reprezentaci nula, jednoho nebo více znaků.

Před spuštěním skutečného příkazu a přejmenováním souborů a adresářů je vždy vhodné použít volbu -n která provede „suchý běh“ a ukáže vám, jaké soubory budou přejmenovány:

rename -n 's/.css/.scss/' *.css

Výstup bude vypadat asi takto:

rename(file-0.css, file-0.scss) rename(file-1.css, file-1.scss) rename(file-2.css, file-2.scss) rename(file-3.css, file-3.scss) rename(file-4.css, file-4.scss)

Ve výchozím nastavení rename příkaz nepřepíše existující soubory. K přepsání existujících souborů použijte volbu -f která říká rename

rename -f 's/.css/.scss/' *.css

rename -v 's/.css/.scss/' *.css

file-0.css renamed as file-0.scss file-1.css renamed as file-1.scss file-2.css renamed as file-2.scss file-3.css renamed as file-3.scss file-4.css renamed as file-4.scss

přejmenovat

rename 's/\.jpe?g$/.jpg/i' *

Závěr

Příkaz rename umožňuje přejmenovat více souborů najednou pomocí regulárních výrazů Perl.

přejmenovat terminál