Hoe Bestanden te Hernoemen in Linux

Ben je nieuw in het Linux-besturingssysteem? Zo ja, dan kunnen veelvoorkomende taken zoals het hernoemen van bestanden en mappen anders zijn dan wat je gewend bent. Maar geen zorgen. Het concept van het hernoemen van bestanden in Linux is vergelijkbaar met hoe het in andere besturingssystemen wordt gedaan.

In deze tutorial leer je vele manieren om enkele en meerdere bestanden in Linux te hernoemen, zowel via GUI als door commando’s uit te voeren in een terminal.

Laten we beginnen!

Vereisten

Om deze tutorial te volgen, zorg ervoor dat je het volgende hebt:

Hernoem bestanden in Linux met Bestandsbeheer

Als je gewend bent om bestanden te beheren via de GUI, laten we dan beginnen met deze tutorial om bestanden te hernoemen met een bestandsbeheerder. GUI-bestandsbeheerders zijn handig omdat je de bestanden letterlijk kunt zien. Een van die bestandsbeheerders die beschikbaar is in Linux is de voormalige bestandsbeheerder van GNOME, Nautilus. Deze tutorial laat zien hoe je bestanden hernoemt met behulp van de Nautilus-bestandsbeheerder.

De andere bestandsbeheerders van Linux zijn Konqueror, Dolphin, Krusader, Thunar, Nemo bestandsbeheerder, en Sunflower bestandsbeheerder. Deze bestandsbeheerders voeren dezelfde taak uit, maar het hernoemen van bestanden of mappen kan enigszins verschillen.

Start uw terminal, voer dan het onderstaande commando uit om Nautilus te installeren (install nautilus) met de apt pakketbeheerder als u deze nog niet op uw machine heeft. Het sudo commando verhoogt het commando met sudo/beheerdersrechten.

sudo apt install nautilus

Het hernoemen van een enkel bestand

Het hernoemen van een enkel bestand in Nautilus kost slechts een paar klikken, net als in Windows Verkenner.

Om een enkel bestand te hernoemen, open Nautilus, klik met de rechtermuisknop op het bestand dat je wilt hernoemen, en kies Hernoemen, zoals hieronder wordt weergegeven.

Deze voorbeeld richt zich op het hernoemen van bestanden, maar het proces is hetzelfde om zowel bestanden als mappen te hernoemen.

Renaming a Single File

Typ nu de nieuwe bestandsnaam om de originele bestandsnaam te vervangen, druk op Enter of klik op Hernoemen, en dat is het.

Entering New File Name

Het hernoemen van meerdere bestanden met behulp van Nautilus Bestandsbeheerder

Net als Windows biedt Ubuntu je meer opties over hoe je meerdere bestanden tegelijk wilt hernoemen.

Om meerdere bestanden te hernoemen, selecteer je alle bestanden die je wilt hernoemen, klik met de rechtermuisknop op een van hen en kies Hernoemen. Er verschijnt een pop-upvenster waar je kunt kiezen hoe je de geselecteerde bestanden wilt hernoemen.

Renaming Multiple Files Using Nautilus.

Hieronder staan twee opties om uit te kiezen, afhankelijk van hoe je de geselecteerde bestanden wilt hernoemen.

  • Hernoemen met behulp van een sjabloon – Hiermee kun je bestanden hernoemen in stappen.
  • Text zoeken en vervangen – Hiermee kun je bepaalde tekst in bestandsnamen zoeken en vervangen.

Bestanden hernoemen met behulp van een sjabloon

Om bestanden te hernoemen met behulp van een sjabloon, selecteer je de optie Hernoemen met behulp van een sjabloon.

Voer nu de vervangingsnaam in het lege veld in om bestanden met een sjabloon te hernoemen, en klik op de knop +Toevoegen en kies uit de sjablonen. Selecteer voor deze zelfstudie de eerste (1,2,3,4) en klik op Hernoemen. Deze optie voegt oplopende nummers toe aan elk bestand na de vervangingsnaam (Tekst1, Tekst2,…).

Renaming Files using a Template

Let op dat de bestandsnamen zijn gewijzigd naar Text, gevolgd door oplopende nummers.

Verifying File Names Changed to “Text” with Incrementing Num

Het vinden en vervangen van woorden in de bestandsnamen

Om meerdere bestanden met een specifieke bestandsnaam te hernoemen, selecteer de optie Zoeken en vervangen van tekst.

Voer de tekst in het veld Bestaande tekst in en de vervangingstekst in het veld Vervangen door, klik vervolgens op Hernoemen om de tekst te vervangen. Met deze optie kunt u bepaalde teksten in bestandsnamen vinden en vervangen.

Replacing Texts in File Names

Nu kunt u hieronder zien dat u het woord “Text” hebt vervangen door “Bestand” in elke bestandsnaam.

Verifying the word “Text” was replaced with the word “File” on Each File

Bestanden hernoemen met het mv commando

Als het uitvoeren van commando’s meer jouw ding is dan navigeren in een GUI, maak je dan klaar om te leren hoe je bestanden in een terminal hernoemt. Het hernoemen van bestanden in de Linux-terminal is vergelijkbaar met het doen in andere command-line omgevingen, zoals PowerShell. Je voert de commando’s uit om de originele bestandsnaam te hernoemen naar de doelbestandsnaam, en dat is het.

Er zijn twee scenario’s bij het hernoemen van een bestand. De eerste is het hernoemen van een bestand vanuit de werkmap, en de tweede is door het volledige pad op te geven. Bekijk hieronder de syntaxis van het mv commando om een bestand te hernoemen, waarbij de bron de oorspronkelijke naam is en de bestemming de vervangingsnaam is.

# Hernoem een bestand of map in de werkmap
mv <source> <destination>
# Hernoem een bestand door het volledige pad op te geven
mv <~/mydir/source> <~/mydir/destination>

Het hernoemen van een enkel bestand met het mv commando

Terwijl de syntaxis van het mv-commando nog vers in je geheugen zit, laten we proberen een enkel bestand te hernoemen.

Om te demonstreren hoe je een enkel bestand en een map hernoemt:

1. Start je terminal en voer vervolgens de onderstaande reeks commando’s uit om een map en twee tekstbestanden te maken.

# Maak een map met de naam 'test'
mkdir test 
# Verander de map naar ~/test
cd test 
# Maak tekstbestanden met de naam 'file1.txt' en 'file2.txt'
touch file1.txt file2.txt 

2. Voer vervolgens het ls-commando uit om de bestanden in de werkmap weer te geven. Hieronder zie je dat file1.txt en file2.txt zich bevinden in de map ~/test.

Listing Files in the Working Directory

3. Voer een van de onderstaande mv-commando’s uit om file1.txt om te dopen tot file10.txt.

# Hernoem een bestand in de werkmap
mv file1.txt file10.txt

# Hernoem een bestand door het volledige pad op te geven
mv ~/test/file1.txt ~/test/file10.txt

Het hernoemen van een map is hetzelfde als het hernoemen van een bestand, zoals dit: mv ~/test ~/demo. Het symbool ~ duidt de home-directory aan.

4. Voer tot slot het ls-commando opnieuw uit om de bestanden in de werkmap weer te geven.

Hieronder zie je dat file1.txt nu is hernoemd naar file10.txt.

Confirming file1.txt is renamed as file10.txt

Hernoemen van meerdere bestanden met een for-loop.

Als je te druk bent met andere taken en alle bestanden in één keer wilt hernoemen, moet je een for-lus gebruiken zoals de onderstaande.

Kopieer de onderstaande code ongewijzigd, plak deze in je terminal en druk op Enter. De onderstaande code scant elk tekstbestand in de werkdirectory en hernoemt de bestanden met “File” gevolgd door een oplopend nummer.

# Declareert een variabele met waarde ingesteld op 1
i=1 
# Scant elk tekstbestand in de werkdirectory
for file in *.txt; 
# Itereert de onderstaande opdracht totdat alle bestanden zijn gescand
do 
  # Hernoemt elk bestand met "File" gevolgd door het oplopende nummer ($i)
	mv -- "$file" "File$i.txt"
  # Verhoogt de waarde van de huidige variabele met 1
  i=$((i+1)) 
done

Het plakken van de code in je terminal werkt prima, maar het is beter om als goede praktijk een scriptbestand te maken dat in plaats daarvan kan worden uitgevoerd.

Hieronder zie je hoe de code in actie alle bestanden hernoemt.

Renaming Files with a For Loop

Bestanden hernoemen in Linux met behulp van het hernoemen hulpprogramma.

Als je dagelijks een enkel bestand hernoemt, volstaat het mv-commando. Maar misschien wil je meerdere bestanden tegelijk hernoemen met hetzelfde patroon? Bijvoorbeeld, bestanden hernoemen die beginnen met een bepaald woord (file). In dat geval installeer je in plaats daarvan het rename-hulpprogramma.

Het rename-hulpprogramma hernoemt meerdere bestanden, wijzigt bestandsnamen en overschrijft bestanden.

Om het rename-hulpprogramma te installeren, voer je een van de onderstaande commando’s uit, afhankelijk van de Linux-distributie waaraan je werkt.

# Installeer het rename-hulpprogramma met de apt-pakketbeheerder voor Ubuntu, Debian en Linux Mint
sudo apt install rename
# Installeer het rename-hulpprogramma met de dnf-pakketbeheerder voor CentOS, Fedora en Red Hat
sudo dnf install prename
# Installeer het rename-hulpprogramma met de pacman-pakketbeheerder voor Arch Linux / Manjaro Linux
sudo pacman -S perl-rename

Je ziet hieronder de syntaxis van het rename-commando.

rename <options> <perlexpr> <files>

Hernoemen van meerdere bestanden

Met de syntaxis van het rename-commando in gedachten, kun je nu bestanden hernoemen die hetzelfde patroon hebben. Wat geweldig is aan het rename-commando, is dat je geen lusfunctie hoeft te verklaren om meerdere bestanden te hernoemen, zoals je deed in het gedeelte “Meerdere bestanden hernoemen met een For Loop”.

Mogelijk wilt u bestanden hernoemen met bepaalde woorden erin. Als dat het geval is, bekijk dan de Perl-reguliere expressie ('s/file/myfile/') in het onderstaande voorbeeldcommando. Perl-reguliere expressies definiëren een tekenreekspatroon op basis van de Perl-programmeertaal.

Om per ongeluk andere bestanden niet per ongeluk te hernoemen, vermeldt u alle betrokken bestanden voordat u ze hernoemt door de -n-optie toe te voegen, zoals hieronder wordt getoond.

rename -n 's/file/myfile/' *.txt
Listing Affected Files Before Renaming

Voer nu een van de onderstaande rename-opdrachten uit om het woord file te vervangen door myfile in de naam van elk tekstbestand in de werkmap of de ~/test/*.txt-map.

In de Perl-uitdrukking ('s/file/myfile/') geeft de s vervanging aan, wat betekent dat u bestanden hernoemt. Let op dat de -v-optie is toegevoegd om aan te geven welke bestanden de opdracht heeft hernoemd.

# Vervang 'file' door 'myfile' in de naam van elk bestand in de werkmap
rename -v 's/file/myfile/' *.txt
# Vervang 'file' door 'myfile' in de naam van elk bestand in de map ~/test
rename -v 's/file/myfile/' ~/test/*.txt

Hieronder ziet u dat elk woord “file” in de tekstbestanden is hernoemd naar “myfile”.

Renaming a Files with the rename Command

Als u liever alle bestanden hernoemt, verwijder dan de bestandsextensie wanneer u het bestandspad opgeeft, bijvoorbeeld rename -v 's/file/myfile/' ~/test/*

Wijzigen van Bestandsextensies

Naast bestandsnamen hernoemt het rename-commando ook bestandsextensies. Misschien hebt u bestanden gemaakt met de verkeerde bestandsextensie. In dat geval geeft u de bestandsextensie op die u wilt wijzigen in een Perl-expressie wanneer u het rename-commando uitvoert.

Voer het onderstaande rename-commando uit om de extensie van alle bestanden (*) van .txt naar .html te wijzigen in de map ~/test. Het symbool $ in de Perl-expressie komt overeen met het einde van een tekenreeks (.txt) voor elke bestandsnaam, dus het commando wijzigt alleen bestandsextensies van .txt. En net als bij het hernoemen van meerdere bestanden, voegt u de optie -v toe om elke wijziging weer te geven die het commando aanbrengt.

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

Om alle bestandsextensies te verwijderen, verwijdert u in plaats daarvan de vervangingsreeks in de Perl-expressie, zoals dit: rename -v 's/.txt$//' *.txt

Zoals u kunt zien in de onderstaande afbeelding, zijn de .txt-extensies gewijzigd in .html

Changing File Extensions from .txt to .html

Het wijzigen van bestandsnamen naar hoofdletters en kleine letters

In plaats van onjuiste bestandsextensies, kunt u te maken hebben met bestandsnamen in kleine letters en vice versa. Misschien probeert u een bestand specifiek in hoofdletters te vinden, zonder te weten dat de bestandsnaam in kleine letters staat.

Linux is hoofdlettergevoelig, dus laten we ervoor zorgen dat je de letterhoofd van elke bestandsnaam correct hebt. Hoofdlettergebruik is in feite het onderscheid tussen tekst in kleine letters en hoofdletters.

Voer een van de onderstaande rename-opdrachten uit om alle bestandsnamen in kleine letters (a-z) in de werkmap (*) te wijzigen in hoofdletters (A-Z) en vice versa.

# Wijzig bestandsnaam van kleine letters naar hoofdletters
rename -v 'y/a-z/A-Z/' *
# Wijzig bestandsnaam van hoofdletters naar kleine letters
rename -v 'y/A-Z/a-z/' *

Je kunt hieronder beide resultaten zien van het wijzigen van de hoofdletter van een bestandsnaam.

Changing File Name from Lowercase to Uppercase and Vice Versa

Spaties vervangen en verwijderen in bestandsnamen

Net als bij de hoofdletter van een bestandsnaam, kun je problemen hebben met het vinden van bestanden als ze spaties in hun bestandsnamen hebben. Laten we dat oplossen door spaties te vervangen door een karakter of de spaties helemaal te verwijderen.

Voer de rename-opdracht hieronder uit om spaties in alle bestandsnamen in de werkmap te vervangen door een underscore (_). Aangezien underscore een metateken is, ontsnap het met een backslash (\\_) om de underscore letterlijk aan te geven. Metatekens zijn speciale tekens met speciale betekenissen in een computerprogramma.

Let op dat de g in de Perl-uitdrukking aangeeft dat de opdracht alle overeenkomsten (spaties) moet vervangen, en niet alleen de eerste.

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

Hieronder zie je dat de opdracht alle spaties heeft vervangen door underscores.

Replacing spaces with underscores in a file name

Om alle spaties in een bestandsnaam te verwijderen in plaats van ze te vervangen door een karakter, voer je de volgende opdracht uit.

In de Perl-uitdrukking hieronder komt het asterisk na de spatie (/ *) overeen met alle voorkomens van spaties in een bestandsnaam en niet alleen de eerste. Het vervangende karakter is leeg (//), dus de rename-opdracht verwijdert alle (g) spaties.

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

Nu kun je hieronder zien dat alle spaties uit elke bestandsnaam zijn verwijderd.

Removing all spaces in filenames

Het Eerste Teken van Elk Woord in een Bestandsnaam Hoofdletteren

Als je de spaties wilt behouden en in plaats daarvan het eerste teken van elk woord in een bestandsnaam wilt hoofdletteren, heb je een complexere Perl-uitdrukking nodig. Bekijk de voorbeeldopdracht hieronder.

De Perl-uitdrukking hieronder komt overeen met elk enkel teken (\\w) op een woordgrens (\\b) zolang het teken geen punt of apostrof is (?<![.'\\'']). De rename-opdracht zal dat teken vervolgens vertalen naar hoofdletters (u$&).

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

Hieronder zie je dat elk woord in de bestandsnamen begint met een hoofdletter terwijl de bestandsextensies ongewijzigd blijven.

Capitalizing First Letter of Each Word in File Names

Conclusie

Gedurende deze tutorial heb je verschillende manieren geleerd om Linux-bestanden te hernoemen via de GUI en de opdrachtregelterminal. Je hebt nu een solide begrip van hoe je namen kunt manipuleren voor zowel enkele als meerdere bestanden tegelijk.

Waarom leer je niet Linux shell-scripting en maak je een script om het hernoemen van bestanden in Linux te automatiseren?

Source:
https://adamtheautomator.com/rename-files-in-linux/