
Přejmenování více souborů a adresářů pomocí mv
příkaz může být zdlouhavý proces, protože zahrnuje psaní složitých příkazů s rourami, smyčkami a tak dále.
Toto je místo rename
příkaz přijde vhod. Přejmenuje dané soubory tak, že hledaný výraz v jejich názvu nahradí zadanou náhradou.
V tomto tutoriálu vysvětlíme, jak používat rename
příkaz pro dávkové přejmenování souborů.
Instalace rename
#
Existují dvě verze rename
příkaz s různou syntaxí a funkcemi. Budeme používat verzi rename
v Perlu příkaz.
Pokud tato verze není na vašem systému nainstalována, nainstalujte ji pomocí správce balíčků vaší distribuce Linuxu:
-
Ubuntu a Debian
sudo apt update
sudo apt install rename
-
CentOS a Fedora
sudo yum install prename
-
Arch Linux
yay perl-rename
Pomocí rename
#
Následuje obecná syntaxe pro rename
příkaz:
rename [OPTIONS] perlexpr files
rename
příkaz je v podstatě skript v Perlu. Přejmenuje dané files
podle zadaného perlexpr
regulární výraz. O regulárních výrazech v Perlu si můžete přečíst zde.
Například následující příkaz změní příponu všech .css
soubory do .scss
:
rename 's/.css/.scss/' *.css
Pojďme si příkaz vysvětlit podrobněji:
s/search_pattern/replacement/
- Substituční operátor..css
- Vzor vyhledávání. Je to první argument v operátoru substituce.rename
příkaz vyhledá tento vzor v daném názvu souboru a pokud jej najde, nahradí jej argumentem nahrazení..scss
- Náhrada. Druhý argument v operátoru substituce.*.css
- Všechny soubory s příponou „.css“. Zástupný znak (*
) je symbol používaný k reprezentaci nuly, 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 dobré použít -n
možnost, 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 nějak 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. Použijte -f
možnost, která říká rename
pro přepsání existujících souborů:
rename -f 's/.css/.scss/' *.css
Pokud chcete rename
pro tisk názvů souborů, které byly úspěšně přejmenovány, použijte -v
(úplná) možnost:
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
rename
Příklady #
Níže je několik běžných příkladů použití příkazu rename:
Nahraďte mezery v názvech souborů podtržítky #
rename 'y/ /_/' *
Převést názvy souborů na malá #
rename 'y/A-Z/a-z/' *
Převést názvy souborů na velká #
rename 'y/a-z/A-Z/' *
Odstranit .bak
z názvů souborů #
rename 's/\.bak$//' *.bak
Přejmenovat .jpeg
a .JPG
názvy souborů do .jpg
#
rename 's/\.jpe?g$/.jpg/i' *
Závěr č.
rename
umožňuje přejmenovat více souborů najednou pomocí regulárních výrazů Perlu.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.