Adam Automator

jste novým operačním systémem Linux? Pokud ano, běžné úkoly, jako je přejmenování souborů a složek, se mohou lišit od toho, na co jste zvyklí. Ale netrap se. Koncept přejmenování souborů v Linuxu je podobný tomu, jak se to dělá v jiných operačních systémech.

v tomto tutoriálu se dozvíte mnoho způsobů, jak přejmenovat jeden a více souborů v Linuxu, a to jak pomocí GUI, tak spuštěním příkazů v terminálu.

začněme!

obsah

předpoklady

Chcete-li sledovat tento tutoriál, ujistěte se, že máte následující:

  • tento výukový program používá Ubuntu 18.04 LTS, ale další distribuce Linuxu budou fungovat.
  • účet s přístupem sudo/Správce.

přejmenování souborů pomocí Správce souborů

pokud jste zvyklí na správu souborů pomocí GUI, začněme tento tutoriál pro přejmenování souborů pomocí správce souborů. Správci souborů GUI jsou elegantní, protože můžete vidět soubory na očích. Jedním z těchto správců souborů dostupných v Linuxu je bývalý správce souborů GNOME, Nautilus. Tento tutoriál ukazuje přejmenování souborů pomocí správce souborů Nautilus.

dalšími správci souborů Linuxu jsou Konqueror, Dolphin, Krusader, Thunar, Nemo file manager a Sunflower file manager. Tito správci souborů provádějí stejný úkol, ale přejmenování souborů nebo adresářů se může mírně lišit.

spusťte terminál a spusťte příkaz níže a nainstalujte Nautilus (install nautilus) pomocí správce balíčků apt, pokud jej ještě nemáte na svém počítači. Příkaz sudo povýší příkaz s právy sudo/Správce.

sudo apt install nautilus

přejmenování jednoho souboru

přejmenování jednoho souboru v Nautilu trvá jen několik kliknutí, jako v Průzkumníku souborů Windows.

Chcete-li přejmenovat jeden soubor, otevřete Nautilus, klepněte pravým tlačítkem myši na soubor, který chcete přejmenovat, a zvolte Přejmenovat, jak je uvedeno níže.

tento příklad se zaměřuje na přejmenování souborů, ale postup je stejný pro přejmenování souborů i adresářů.

přejmenování jednoho souboru
přejmenování jednoho souboru

Nyní zadejte nový název souboru, který nahradí původní název souboru, stiskněte klávesu Enter nebo klikněte na Přejmenovat, a to je vše.

zadání nového názvu souboru
zadání nového názvu souboru

Přejmenování více souborů pomocí Správce souborů Nautilus

stejně jako Windows, Ubuntu vám dává více možností, jak chcete přejmenovat více souborů najednou.

Chcete-li přejmenovat více souborů, vyberte všechny soubory, které chcete přejmenovat, klepněte pravým tlačítkem myši na některý z nich a zvolte Přejmenovat. Objeví se vyskakovací okno, kde si můžete vybrat, jak chcete přejmenovat vybrané soubory.

Přejmenování Více Souborů Pomocí Nautilus.
Přejmenování Více Souborů Pomocí Nautilus.

Níže jsou na výběr dvě možnosti v závislosti na tom, jak chcete vybrané soubory přejmenovat.

  • přejmenovat pomocí šablony-to vám umožní přejmenovat soubory v krocích.
  • najít a nahradit text-umožňuje najít a nahradit určité texty v názvech souborů.

přejmenování souborů pomocí šablony

Chcete-li přejmenovat soubory pomocí šablony, vyberte možnost přejmenovat pomocí šablony.

Nyní zadejte náhradní název do prázdného pole pro přejmenování souborů pomocí šablony a klikněte na tlačítko + Přidat a vyberte ze šablon. V tomto tutoriálu vyberte první (1,2,3,4) a klikněte na Přejmenovat. Tato volba přidá přírůstková čísla do každého souboru po náhradním názvu souboru (Text1, Text2,…).

přejmenování souborů pomocí šablony
přejmenování souborů pomocí šablony

Všimněte si, že názvy souborů byly změněny na Text, následované přírůstkovými čísly.

ověření názvů souborů změněno na "Text" s přírůstkem Num
ověření názvů souborů změněno na „Text“ s přírůstkem Num

hledání a nahrazování slov v názvech souborů

Chcete-li přejmenovat více souborů se specifickým názvem souboru, vyberte možnost najít a nahradit text.

zadejte text do existujícího textového pole a náhradní text do pole Nahradit a poté klikněte na Přejmenovat pro nahrazení textu. Tato volba najde a nahradí určité texty v názvech souborů.

nahrazení textů v názvech souborů
nahrazení textů v názvech souborů

nyní můžete vidět níže, že jste v každém názvu souboru nahradili slovo „Text“ slovem „soubor“.

ověření slova "Text" bylo nahrazeno slovem" soubor "v každém souboru
ověření slova „Text“ bylo nahrazeno slovem „soubor“ v každém souboru

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

pokud je spouštění příkazů vaší věcí místo navigace v GUI, připravte se na to, abyste se naučili přejmenovat soubory v terminálu. Přejmenování souborů v terminálu Linux je podobné jako v jiných prostředích příkazového řádku, jako je PowerShell. Spustíte příkazy k přejmenování původního názvu souboru s názvem cílového souboru, a to je vše.

při přejmenování souboru existují dva scénáře. První je přejmenování souboru z pracovního adresáře a druhý je zadáním úplné cesty. Podívejte se na syntaxi příkazu mv níže a přejmenujte soubor, kde source je původní název a destination je náhradní název.

# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>

přejmenování jednoho souboru příkazem MV

zatímco syntaxe příkazu mv je ve vaší mysli stále čerstvá, zkusme přejmenovat jeden soubor.

demonstrovat, jak přejmenovat jeden soubor a adresář:

1. Spusťte terminál a spusťte řadu příkazů níže a vytvořte adresář a dva textové soubory.

# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt 

2. Dále spusťte příkaz ls a vypište soubory uvnitř pracovního adresáře. Níže vidíte tento soubor1.txt a soubor2.txt existuje v adresáři ~/test.

výpis souborů v pracovním adresáři
výpis souborů v pracovním adresáři

3. Spusťte některý z níže uvedených příkazů mv a přejmenujte file1.txt na file10.txt.

# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt

přejmenování adresáře je stejné jako přejmenování souboru, například: mv ~/test ~/demo. Symbol ~ označuje domovský adresář.

4. Nakonec znovu spusťte příkaz ls a vypište soubory v pracovním adresáři.

níže vidíte tento soubor1.txt je nyní přejmenován na file10.txt.

potvrzuji soubor1.txt je přejmenován na file10.txt
potvrzující soubor1.txt je přejmenován na file10.txt

Přejmenování více souborů pomocí For Loop

pokud jste příliš zaneprázdněni jinými úkoly a chcete přejmenovat všechny soubory najednou, budete muset použít příkaz for loop, jako je ten níže.

zkopírujte níže uvedený kód tak, jak je, vložte jej do terminálu a stiskněte klávesu Enter. Níže uvedený kód prohledá každý textový soubor v pracovním adresáři a přejmenuje soubory pomocí „Soubor“ následovaného přírůstkovým číslem.

# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done

vložení kódu do terminálu funguje dobře, ale jako dobrá praxe je lepší, když místo toho vytvoříte soubor skriptu.

níže vidíte v akci, jak kód přejmenuje všechny soubory.

přejmenování souborů s For Loop
přejmenování souborů s For Loop

přejmenování souborů v Linuxu pomocí nástroje přejmenování

pokud přejmenujete jeden soubor ve své každodenní rutině, postačí příkaz mv . Ale možná se snažíte přejmenovat více souborů se stejným vzorem najednou? Například přejmenování souborů, které začínají určitým slovem (soubor). V takovém případě místo toho nainstalujte nástroj přejmenování.

nástroj přejmenování přejmenuje více souborů, změní formáty názvů souborů a přepíše soubory.

Chcete-li nainstalovat nástroj přejmenování, spusťte některý z níže uvedených příkazů v závislosti na linuxovém distro, na kterém pracujete.

# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename

níže vidíte syntaxi příkazu rename.

rename <options> <perlexpr> <files>

Přejmenování více souborů

s ohledem na syntaxi příkazu rename můžete nyní přejmenovat soubory, které mají stejný vzor. Co je skvělé na příkazu rename, je to, že nemusíte deklarovat funkci smyčky pro přejmenování více souborů, jako jste to udělali v části“ Přejmenování více souborů pomocí smyčky“.

možná budete chtít přejmenovat soubory s určitými slovy na nich. Pokud ano, podívejte se na regulární výraz Perl ('s/file/myfile/') v ukázkovém příkazu níže. Regulární výrazy Perl definují vzor řetězce založený na programovacím jazyce Perl.

Chcete-li se vyhnout chybnému přejmenování jiných souborů, Uveďte všechny postižené soubory před jejich přejmenováním přidáním možnosti -n, jak je uvedeno níže.

rename -n 's/file/myfile/' *.txt
Výpis postižených souborů před přejmenováním
Výpis postižených souborů před přejmenováním

Nyní spusťte některý z níže uvedených příkazů rename a nahraďte slovo file myfile v názvu každého textového souboru uvnitř pracovního adresáře nebo v adresáři ~/test/*.txt.

ve výrazu Perl ('s/file/myfile/') označuje s substituci, což znamená, že přejmenováváte soubory. Všimněte si, že -v volba je přidána k návratu, které soubory příkaz přejmenován.

# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt

níže vidíte, že každé slovo „soubor“ v textových souborech je přejmenováno na “ myfile.“

přejmenování souborů příkazem přejmenovat
přejmenování souborů příkazem rename

pokud chcete místo toho přejmenovat všechny soubory, odeberte příponu souboru, když zadáte cestu k souboru, například, rename -v 's/file/myfile/' ~/test/*

Změna přípon souborů

kromě názvů souborů příkaz rename také přejmenuje přípony souborů. Možná jste vytvořili soubory s nesprávnou příponou souboru. V takovém případě určíte příponu souboru, kterou chcete změnit ve výrazu Perl při spuštění příkazu rename.

spusťte níže uvedený příkaz rename a změňte příponu všech souborů (*) z .txt na .html v adresáři ~/test. Symbol $ ve výrazu Perl odpovídá konci řetězce (.txt) každému názvu souboru, takže příkaz změní pouze přípony souborů .txt. A stejně jako při přejmenování více souborů Přidejte možnost -v a uveďte každou změnu, kterou příkaz provede.

rename -v 's/.txt$/.html/' *.txt

Chcete-li místo toho odstranit všechny přípony souborů, odstraňte náhradní řetězec ve výrazu Perl, takto: rename -v 's/.txt$//' *.txt

jak vidíte na obrázku níže, the .rozšíření txt se změnilo na .html

Změna přípon souborů z.txt do .html
Změna přípon souborů z.txt do .html

změna názvů souborů na velká a malá písmena

namísto nesprávných přípon souborů můžete mít co do činění s názvy souborů malými písmeny a naopak. Možná se snažíte najít soubor konkrétně velkými písmeny, aniž byste věděli, že název souboru je malým písmem.

Linux je citlivý na velká a malá písmena, takže se ujistěte, že máte písmena každého názvu souboru v pořádku. Písmenná písmena jsou v podstatě rozlišováním textů mezi malými a velkými písmeny.

spusťte některý z níže uvedených příkazů rename a změňte všechna malá (a-z) názvy souborů v pracovním adresáři (*) na velká (A-Z) a naopak.

# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *

níže vidíte oba výsledky změny písmen názvu souboru.

Změna názvu souboru z malých na velká a naopak
Změna názvu souboru z malých na velká a naopak

nahrazení a odstranění mezer v názvech souborů

stejně jako písmeno názvu souboru, můžete mít potíže s hledáním souborů, pokud mají mezery v názvech souborů. Opravme to buď nahrazením mezer znakem, nebo úplným odstraněním mezer.

spusťte níže uvedený příkaz rename a nahraďte mezery ve všech názvech souborů podtržítkem (_) v pracovním adresáři. Vzhledem k tomu, podtržítko je metacharacter, uniknout s zpětným lomítkem (\_) deklarovat podtržítko doslova. Metacharacters jsou speciální znaky se zvláštními významy v počítačovém programu.

Všimněte si, že g ve výrazu Perl říká příkazu nahradit všechny shody (mezery), a ne jen první.

rename -v 's/ /\_/g' *

níže vidíte, že příkaz nahradil všechny mezery podtržítky.

nahrazení mezer podtržítky v názvu souboru
nahrazení mezer podtržítky v názvu souboru

Chcete-li odstranit všechny mezery v názvu souboru namísto jejich vyplnění znakem, spusťte příkaz níže.

v níže uvedeném výrazu Perl se hvězdička za prázdným mezerou (/ *) shoduje se všemi výskyty mezer v názvu souboru a ne pouze s prvním. Náhradní znak je prázdný (//), takže příkaz rename odstraní všechny (g) mezery.

rename -v "s/ *//g" *

nyní můžete vidět, že všechny mezery jsou odstraněny z každého názvu souboru.

odstranění všech mezer v názvech souborů
odstranění všech mezer v názvech souborů

velká písmena prvního písmene každého slova v názvu souboru

pokud dáváte přednost ponechání mezer a velkými písmeny prvního písmene každého slova v názvu souboru, budete potřebovat složitější výraz Perl. Podívejte se na ukázkový příkaz níže.

níže uvedený výraz Perl odpovídá libovolnému jednotlivému znaku (\w) v hranici slova (\b), pokud znak není tečkou ani apostrofem (?<!). Příkaz rename pak překládá toto písmeno na velká písmena (u$&).

rename -v 's/(?<!)\b\w*/\u$&/g' *

níže vidíte, že každé slovo v názvech souborů začíná velkým písmenem, zatímco přípony souborů zůstávají nedotčeny.

velká písmena každého slova v názvech souborů
velká písmena každého slova v názvech souborů

závěr

v tomto tutoriálu jste se naučili mnoho způsobů, jak přejmenovat soubory Linuxu pomocí GUI a terminálu příkazového řádku. Nyní máte solidní pochopení toho, jak manipulovat s názvy pro jeden a více souborů najednou.

proč se nenaučit skriptování linuxového shellu a vytvořit skript pro automatizaci přejmenování souborů v Linuxu?

Napsat komentář

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