Pokud pracujete se soubory na příkazovém řádku v Linuxu, je přejmenování souborů jednou z nejčastějších úloh, se kterými se můžete setkat. Příkaz mv, který vám to umožňuje, jsme již probrali. A zde, v tomto tutoriálu, probereme další takový nástroj, nazvaný přejmenovat.
Ale než s tím začneme, stojí za zmínku, že všechny příklady v tomto článku byly testovány na počítači Ubuntu 18.04 LTS.
Příkaz pro přejmenování Linuxu
Jak název napovídá, přejmenovat příkaz v Linuxu umožňuje přejmenovat soubory. Následuje jeho syntaxe:
rename [options] expression replacement file...
A zde je návod, jak to vysvětluje manuálová stránka nástroje:
rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.
Všimněte si, že pokud nemáte nainstalovaný příkaz rename, můžete jej získat pomocí následujícího příkazu:
sudo apt install rename
Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout lepší představu o tom, jak příkaz přejmenovat funguje.
O1. Jak použít příkaz přejmenovat?
Základní použití není úplně přímočaré, musím říct, ale není těžké to pochopit. Řekněme, že máte soubor s názvem 'test.txt' a chcete jej přejmenovat na 'new.txt'. Zde je návod, jak k tomu použít příkaz rename.
rename 's/test/new/' test.txt
Q2. Jak přejmenování zpracovává symbolické odkazy?
Ve výchozím nastavení příkaz rename pouze přejmenuje soubor, který je předán jako vstup, i když se jedná o symbolický odkaz. Pokud však chcete, aby nástroj nepřejmenovával symbolické odkazy, ale místo toho jednal podle jejich cílů, použijte volbu -s příkazového řádku.
Pokud je tedy symlink.txt symbolický odkaz, který ukazuje na root.txt, pak následující příkaz zajistí, že operace přejmenování proběhne pro root.txt:
rename -s 's/root/new/' symlink.txt
Q3. Jak provést suchý běh s přejmenováním?
Předpokládejme, že chcete vidět pouze konečnou změnu, která se stane příkazem přejmenování, aniž byste ji skutečně provedli, a pak použijte volbu -n příkazového řádku. Například následující příkaz:
rename -n 's/new/test/' new.txt
vytvořil následující výstup:
rename(new.txt, test.txt)
ale ve skutečnosti nepřejmenovali new.txt na test.txt.
4. Jak přejmenování řeší přepisování souborů?
Ve výchozím nastavení příkaz přejmenování neprovede operaci, pokud zahrnuje přepsání existujícího souboru. Můžete však vynutit přepsání nástroje pomocí volby -f příkazového řádku.
Například následující příkaz:
rename 's/new/test/' new.txt
vytvořil následující výstup:
new.txt not renamed: test.txt already exists
Ale když byl použit příkaz -f:
rename -f 's/new/test/' new.txt
Operace proběhla hladce a soubor test.txt byl přepsán.
Závěr
Příkaz přejmenovat příliš mnoho možností nenabízí a některé z hlavních jsme zde již probrali. Až si je procvičíte, přejděte na manuálovou stránku nástroje, kde se o něm dozvíte více.