GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak přejmenovat soubory v Linuxu

Úvod

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

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

Předpoklady

  • Systém s distribucí Linuxu
  • Účet s právy sudo
  • Přístup do okna terminálu/příkazového řádku
  • Přístup k textovému editoru, jako je Vim nebo Nano

Přejmenujte soubory pomocí příkazu mv

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

mv [options] [source] [destination]

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

Přejmenujte jeden soubor pomocí příkazu mv

Pomocí mv příkaz s výchozí syntaxí umožňuje přejmenovat jeden soubor:

mv [options] [current file name] [new file name]

Například pokud chceme přejmenovat example1.txt do example2.txt , použili bychom:

mv example1.txt example2.txt

Protože pokud je příkaz úspěšný, není k dispozici žádný výstup, používáme ls příkaz ke kontrole, zda se jméno změnilo:

ls -l

Přejmenujte více souborů pomocí příkazu mv

Samotný mv příkaz přejmenuje jeden soubor. Kombinací s jinými příkazy však můžete přejmenovat více souborů současně.

Jednou z metod je použití find k výběru více souborů s podobným názvem, pak použijte mv příkaz k jejich přejmenování:

find . -depth -name "[current file name element]" -exec sh -c 'f="{}"; mv -- "$f" "${f%[current file name element]}[new file name element]"' \;

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

Například pokud máme example1.txt , example2.txt a example3.txt a chcete změnit příponu na .pdf :

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

Další metodou je použití mv příkaz jako součást <strong>for</strong> smyčka 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

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

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

Ve skriptu výše:

  • První řádek dává skriptu pokyn, aby vyhledal všechny soubory v aktuálním adresáři s koncovkou .txt .
  • Druhý řádek používá mv příkaz na každý nalezený soubor, který nahradí .txt rozšíření s .pdf .
  • Třetí řádek ukončuje segment smyčky.

Stiskněte Ctrl+X a poté zadejte Y a stiskněte Enter pro uložení změn skriptu a ukončení.

Použijte sh příkaz ke spuštění skriptu:

sh rename_files.sh

Přejmenovat soubor pomocí příkazu přejmenovat

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

Jak nainstalovat příkaz pro přejmenování

V mnoha distribucích Linuxu rename příkaz není ve výchozím nastavení dostupný. Pokud ve vašem systému chybí rename příkaz, 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řejmenujte syntaxi a možnosti příkazu

Existují tři typy regulárních výrazů v Perlu:shoda , náhrada a přeložit . rename příkaz používá náhradní a překladové výrazy ke změně názvů souborů a adresářů.

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

rename [options] 's/[filename element]/[replacement]/' [filename]

S touto syntaxí příkaz přejmenuje soubor nahrazením prvního výskytu prvku filename s náhradou . V příkazu výše:

  • rename :Vyvolá příkaz přejmenovat.
  • [options] :Poskytuje volitelný argument, který mění způsob provádění příkazu.
  • s :Označuje zástupný výraz.
  • [filename element] :Určuje část názvu souboru, kterou chcete nahradit.
  • [replacement] :Určuje náhradu za část aktuálního souboru.
  • [filename] :Definuje soubor, který chcete přejmenovat.

Překladový výraz překládá jeden řetězec znaků na jiný, znak za znakem. Tento typ výrazu používá následující syntaxi:

rename [options] 'y/[string 1]/[string 2]/' [filename]

Příklad rename příkaz pomocí překladového výrazu:

rename 'y/abc/xyz/'

V tomto příkladu každé a znak v názvu souboru je nahrazen x , každé b od y a každé c podle z .

Přejmenovat používá následující možnosti:

  • -a :Nahradí 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 :Nahradí poslední výskyt prvku názvu souboru místo prvního.
  • -n :Provádí chod nasucho, neprovádí žádné trvalé změny. Nejlépe v kombinaci s podrobným výstupem (-v ).
  • -s :Přejmenuje cíl namísto symbolického odkazu.
  • -v :Zobrazí podrobnou verzi výstupu.
  • -V :Zobrazí verzi příkazu.

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

1. Změnit příponu souboru

Vraťme se k našemu poslednímu příkladu ke změně přípony souboru z .txt do .pdf , použijte:

rename -v 's/.txt/.pdf/' *.txt

2. Nahrazení části názvu souboru

Nahrazení jiné části názvu souboru se řídí stejnou syntaxí. Chcete-li přejmenovat example1.txt , example2.txt a example3.txt do test1.txt , test2.txt a text3.txt , použijte:

rename -v 's/example/test/' *.txt

3. Odstranit část názvu souboru

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

rename -v 's/ample//' *.txt

4. Přejmenovat soubory s podobnými názvy

Další použití pro rename možnost je přejmenovat soubory s podobnými názvy. Například pokud chceme přejmenovat soubory pomocí příkladu a ukázka jejich jménem k testování :

rename -v 's/(ex|s)ample/test/' *.txt

5. Přejmenovat soubory znak po znaku

rename příkaz také umožňuje používat překladové výrazy k přejmenování souborů po jednotlivých znacích. Pokud například chcete přejmenovat více souborů s názvem ukázkový soubor nahrazením prázdného místa podtržítkem (_ ):

rename -v 'y/ /\_/' *.txt

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

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

Opačně funguje i to, pokud ve výrazu přehodíme pořadí velkých a malých písmen:

rename -v 'y/A-Z/a-z/' *.TXT

Ubuntu
  1. Jak přejmenovat soubory v Linuxu

  2. Jak používat Su Command v Linuxu

  3. Jak vytvořit soubory určité velikosti v Linuxu

  1. Jak najít soubory v Linuxu

  2. Jak přejmenovat adresář v Linuxu

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

  1. Jak přejmenovat soubory a adresáře v Linuxu

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

  3. Příkaz Rm v Linuxu