Úvod

Linux poskytuje několik možností pro přejmenování souborů, včetně použití GUI a více vyhrazených příkazů terminálu. Díky tomu je poměrně snadné přejmenovat jednotlivé soubory, ale může být náročné přejmenovat více souborů najednou.

v tomto tutoriálu projdeme různé příkazy, které můžete použít v terminálu Linux k přejmenování souborů v Linuxu.

jak přejmenovat soubory v Linuxu

předpoklady

  • systém s linuxovou distribucí
  • účet s oprávněními sudo
  • přístup do okna/příkazového řádku terminálu
  • přístup do textového editoru, jako je Vim nebo Nano

přejmenování souborů příkazem mv

příkaz Linux mv (přesunout) se používá k přesunu souborů a adresářů z terminálu. Používá následující syntaxi:

mv 

pokud zadáte adresář jako cíl při použití příkazu mv, zdrojový soubor se přesune do tohoto adresáře. Pokud je cílem jiný název souboru, příkaz mv místo toho přejmenuje zdrojový soubor na tento název.

poznámka: Další informace o použití příkazu mv naleznete v našem průvodci přesouváním adresářů v Linuxu.

přejmenujte jeden soubor příkazem MV

pomocí příkazu mv s výchozí syntaxí můžete přejmenovat jeden soubor:

mv 

například pokud chceme přejmenovat příklad1.txt do příkladu2.txt, použili bychom:

mv example1.txt example2.txt

protože pokud je příkaz úspěšný, není výstup, používáme příkaz ls ke kontrole, zda se název změnil:

ls -l
přejmenování jednoho souboru pomocí příkazu mv

přejmenujte více souborů příkazem MV

Samostatně, příkaz mv přejmenuje jeden soubor. Kombinace s jinými příkazy však umožňuje přejmenovat více souborů současně.

jednou z metod je použít příkaz find k výběru více souborů s podobným názvem, poté je pomocí příkazu mv přejmenujte:

find . -depth -name "" -exec sh -c 'f="{}"; mv -- "$f" "${f%}"' \;

pomocí této syntaxe příkaz find definuje prvek aktuálního názvu souboru jako parametr vyhledávání. Dále -exec provede příkaz mv na všech souborech, které odpovídají vyhledávání, a změní jejich aktuální názvy souborů na nové.

například, pokud máme příklad1.txt, příklad2.txt a example3.txt a chcete změnit rozšíření na .pdf:

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;
Přejmenování více souborů pomocí příkazů najít a mv

další metodou je použití příkazu mv jako součásti smyčky <strong>for</strong> ve skriptu bash.

pomocí stejného příkladu začněte vytvořením a otevřením souboru skriptu bash pomocí textového editoru, jako je Nano:

sudo nano rename_files.sh

poznámka: Další informace o používání skriptů bash pro správu souborů a adresářů v systému Linux.

přidejte do skriptu následující řádky:

#!/bin/bashfor f in *.txt; do mv -- "$f" "${f%.txt}.pdf"done

ve scénáři výše:

  • první řádek instruuje skript, aby vyhledal všechny soubory v aktuálním adresáři končícím na .txt.
  • druhý řádek používá příkaz mv u každého nalezeného souboru, který nahradí .txt rozšíření s.pdf.
  • třetí řádek končí segment smyčky.

stiskněte Ctrl + X, poté zadejte Y a stisknutím klávesy Enter uložte změny do skriptu a ukončete.

pro spuštění skriptu použijte příkaz sh :

sh rename_files.sh
Přejmenování více souborů pomocí Bash skriptu

přejmenovat soubor příkazem přejmenovat

příkaz rename se používá k přejmenování více souborů nebo adresářů v Linuxu. Nabízí více funkcí než příkaz mv, ale může být náročnější na použití, protože vyžaduje základní znalost výrazů Perl.

Jak nainstalovat příkaz Přejmenovat

v mnoha distribucích Linuxu není příkaz rename ve výchozím nastavení k dispozici. Pokud váš systém chybí příkaz rename, nainstalujte jej pomocí:

  • pro Ubuntu a Debian použijte sudo apt install rename
  • pro CentOS a Fedoru použijte sudo yum install prename
  • pro Arch Linux použijte sudo pacman -S přejmenovat

přejmenovat syntaxi příkazu a možnosti

existují tři typy regulárních výrazů Perl: shodovat, nahrazovat a překládat. Příkaz rename používá výrazy substitute a translate ke změně názvů souborů a adresářů.

náhradní výrazy nahraďte část názvu souboru jiným řetězcem. Používají následující syntaxi:

rename 's///' 

s touto syntaxí příkaz přejmenuje soubor nahrazením prvního výskytu prvku názvu souboru nahrazením. Ve výše uvedeném příkazu:

  • rename: vyvolá příkaz Přejmenovat.
  • : poskytuje volitelný argument, který mění způsob provádění příkazu.
  • s: Označuje náhradní výraz.
  • : určuje část názvu souboru, kterou chcete nahradit.
  • : určuje náhradu za část aktuálního názvu souboru.
  • : definuje soubor, který chcete přejmenovat.

překladový výraz překládá jeden řetězec znaků do druhého, znak pro znak. Tento typ výrazu používá následující syntaxi:

rename 'y///' 

příklad příkazu rename používajícího výraz translate:

rename 'y/abc/xyz/'

v tomto příkladu je každý znak a v názvu souboru nahrazen X, každý b y a každý c z.

příkaz přejmenování používá následující možnosti:

  • -a: nahrazuje všechny výskyty prvku názvu souboru namísto pouze prvního.
  • -f: Vynutí přepsání existujících souborů.
  • -h: zobrazí text nápovědy.
  • -i: zobrazí výzvu před přepsáním existujících souborů.
  • -l: nahrazuje poslední výskyt prvku názvu souboru místo prvního.
  • -n: provádí suchý běh, aniž by došlo k trvalým změnám. Nejlépe v kombinaci s podrobným výstupem (-v).
  • -s: přejmenuje cíl namísto symbolického odkazu.
  • -v: zobrazuje podrobnou verzi výstupu.
  • -V: Zobrazí verzi příkazu.

přejmenovat příklady příkazů

1. Změňte příponu souboru

Vrátíme-li se k našemu poslednímu příkladu, změňte příponu souboru z.txt do .pdf, použití:

rename -v 's/.txt/.pdf/' *.txt
pomocí příkazu přejmenovat nahradit příponu souboru

2. Nahrazení části názvu souboru

nahrazení jiné části názvu souboru následuje stejnou syntaxi. Přejmenovat příklad1.txt, příklad2.txt a example3.txt na test1.txt, test2.txt a text3.txt, použití:

rename -v 's/example/test/' *.txt
Přejmenování více souborů pomocí příkazu přejmenovat

3. Odstranit část názvu souboru

volba rename také umožňuje odstranit část názvu souboru vynecháním náhradní části výrazu. Například, pokud chceme zkrátit příklad na ex:

rename -v 's/ample//' *.txt
odebrání části názvu souboru pomocí příkazu přejmenovat

4. Přejmenování souborů s podobnými názvy

dalším použitím pro volbu rename je přejmenování souborů s podobnými názvy. Například, pokud chceme přejmenovat soubory s příkladem a ukázkou v jejich jménu k testování:

rename -v 's/(ex|s)ample/test/' *.txt
Přejmenování více souborů s podobnými názvy pomocí příkazu přejmenovat

5. Přejmenovat soubory znak po znaku

příkaz rename také umožňuje použít Překladové výrazy k přejmenování souborů na základě znaků po znaku. Například pokud chcete přejmenovat více souborů s názvem příklad souboru nahrazením prázdného místa podtržítkem (_):

rename -v 'y/ /\_/' *.txt
odstranění prázdných mezer z názvů souborů pomocí příkazu přejmenovat

6. Převést malá písmena

Chcete-li převést malá písmena v názvech souborů na velká písmena, použijte:

rename -v 'y/a-z/A-Z/' *.txt
převod názvů souborů z malých na velká pomocí příkazu přejmenovat

7. Převést velká písmena

reverzní také funguje, pokud přepneme pořadí velkých a malých znaků ve výrazu:

rename -v 'y/A-Z/a-z/' *.TXT
převod názvů souborů z velkých na malá pomocí příkazu přejmenovat

Poznámka: Při změně písmen znaků buďte opatrní, protože to také změní příponu souboru.

závěr

po přečtení tohoto tutoriálu byste měli být schopni přejmenovat soubory pomocí příkazů mv a rename v Linuxu.

další informace o používání příkazů Linux v našem podváděcím listu příkazů Linux.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.