Adam the Automator

bent u nieuw op het Linux besturingssysteem? Als dat zo is, gemeenschappelijke taken zoals het hernoemen van bestanden en mappen kunnen anders zijn dan wat u gewend bent. Maar maak je geen zorgen. Het concept van het hernoemen van bestanden in Linux is vergelijkbaar met hoe het wordt gedaan in andere besturingssystemen.

in deze tutorial leer je veel manieren om enkele en meerdere bestanden te hernoemen in Linux, zowel via GUI als het uitvoeren van commando ‘ s in een terminal.

aan de slag!

inhoudsopgave:

vereisten

om mee te gaan in deze tutorial, zorg ervoor dat je het volgende hebt:

  • deze tutorial maakt gebruik van Ubuntu 18.04 LTS, maar andere Linux distributies zullen werken.
  • een account met sudo / administrator toegang.

hernoemen van bestanden met Bestandsbeheer

als u gewend bent om bestanden te beheren via GUI, laten we deze tutorial starten om bestanden te hernoemen met een bestandsbeheer. GUI file managers zijn netjes omdat je de bestanden in het zicht kunt zien. Een van die bestandsmanagers beschikbaar in Linux is GNOME ‘ s voormalige bestandsmanager, Nautilus. Deze tutorial toont het hernoemen van bestanden met behulp van de Nautilus file manager.

Linux ‘ s andere bestandsmanagers zijn Konqueror, Dolphin, Krusader, Thunar, Nemo file manager en Sunflower file manager. Deze bestandsbeheerders voeren dezelfde taak uit, maar het hernoemen van bestanden of mappen kan iets anders zijn.

start uw terminal en voer het onderstaande commando uit om Nautilus (install nautilus) te installeren met de apt pakketbeheerder als u deze nog niet op uw machine hebt. Het sudo Commando verheft het commando met sudo / administrator rechten.

sudo apt install nautilus

het hernoemen van een enkel bestand

het hernoemen van een enkel bestand in Nautilus duurt slechts een paar klikken, zoals in Windows File Explorer.

om een enkel bestand te hernoemen, open Nautilus, klik met de rechtermuisknop op het bestand dat u wilt hernoemen, en kies hernoemen, zoals hieronder getoond.

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

een enkel bestand hernoemen
een enkel bestand hernoemen

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

nieuwe bestandsnaam
nieuwe bestandsnaam invoeren

meerdere bestanden hernoemen met Nautilus File Manager

net als Windows biedt Ubuntu u meer opties over hoe u meerdere bestanden tegelijk wilt hernoemen.

om meerdere bestanden te hernoemen, Selecteer alle bestanden die u wilt hernoemen, klik met de rechtermuisknop op een van hen en kies hernoemen. Er verschijnt een pop-up venster waarin u kunt kiezen hoe u de geselecteerde bestanden wilt hernoemen.

Meerdere Bestanden Hernoemen Met Nautilus.
Hernoemen Van Meerdere Bestanden Met Nautilus.

hieronder zijn er twee opties om uit te kiezen, afhankelijk van hoe u de geselecteerde bestanden wilt hernoemen.

  • hernoemen met behulp van een sjabloon – Hiermee kunt u bestanden in stappen hernoemen.
  • tekst zoeken en vervangen-Hiermee kunt u bepaalde teksten in bestandsnamen vinden en vervangen.

hernoemen van bestanden met behulp van een sjabloon

om bestanden met behulp van een sjabloon te hernoemen, selecteert u de optie hernoemen met behulp van een sjabloon.

Voer nu de vervangende naam in het lege veld in om bestanden te hernoemen met een sjabloon, en klik op de knop +Toevoegen en kies uit de sjablonen. Selecteer voor deze tutorial de eerste (1,2,3,4) en klik op Hernoemen. Deze optie voegt het verhogen van getallen toe aan elk bestand na de vervangende bestandsnaam (Text1, Text2,…).

bestanden hernoemen met behulp van een sjabloon
bestanden hernoemen met behulp van een sjabloon

let op de bestandsnamen veranderd in tekst, gevolgd door het verhogen van getallen.

verifiëren van bestandsnamen gewijzigd in "Text" met oplopend Num
controleren van bestandsnamen gewijzigd in “Text” met oplopend Num

zoeken en vervangen van woorden in de bestandsnamen

om meerdere bestanden met een specifieke bestandsnaam te hernoemen, selecteert u de optie Tekst zoeken en vervangen.

Voer de tekst in het veld bestaande tekst en de vervangende tekst in het veld vervangen door in en klik vervolgens op hernoemen om de tekst te vervangen. Deze optie vindt en vervangt bepaalde teksten in bestandsnamen.

vervangen van teksten in bestandsnamen
vervangen van teksten in bestandsnamen

nu kunt u hieronder zien dat u het Woord “tekst” hebt vervangen door” Bestand ” in elke bestandsnaam.

controleren of het woord "Text" is vervangen door het woord "File" op elk bestand
controleren of het woord “Text” is vervangen door het woord “File” op elk bestand

bestanden hernoemen met het MV Commando

als het uitvoeren van commando ‘ s jouw ding is in plaats van te navigeren in een GUI, bereid je dan voor om te leren hoe je bestanden hernoemt in een terminal. 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 oorspronkelijke bestandsnaam te hernoemen met 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 uit de werkdirectory, en de tweede is door het volledige pad op te geven. Bekijk de syntaxis van het mv commando hieronder om een bestand te hernoemen, waarbij source de oorspronkelijke naam is en destination de vervangende naam.

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

hernoemen van een enkel bestand met het MV Commando

terwijl de syntaxis van het MV Commando nog vers in je geheugen ligt, proberen we het hernoemen van een enkel bestand.

om aan te tonen hoe een enkel bestand en map hernoemd kan worden:

1. Start uw terminal en voer de onderstaande commando ‘ s uit om een map en twee tekstbestanden te maken.

# 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. Voer vervolgens het ls commando uit om de bestanden in de werkmap weer te geven. Hieronder ziet u dat bestand1.txt en bestand2.txt bestaat in de ~ / test directory.

lijst van bestanden in de werkmap
lijst van bestanden in de werkmap

3. Voer een van de onderstaande opdrachten mv uit om file1.txt te hernoemen als 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

het hernoemen van een map is hetzelfde als het hernoemen van een bestand, zoals dit: mv ~/test ~/demo. Het ~ symbool geeft de persoonlijke map aan.

4. Voer ten slotte het ls commando opnieuw uit om de bestanden in de werkmap weer te geven.

hieronder ziet u dat bestand1.txt wordt nu hernoemd als file10.txt.

file1 wordt bevestigd.txt wordt hernoemd als file10.txt
bevestigend bestand1.txt wordt hernoemd als file10.txt

meerdere bestanden hernoemen met een For Loop

Als u het te druk hebt met andere taken en alle bestanden in één keer wilt hernoemen, moet u een For loop statement gebruiken zoals hieronder.

kopieer de onderstaande code als-is, plak deze in uw terminal en druk op Enter. De code hieronder scant elk tekstbestand in de werkmap en hernoemt de bestanden met “File” gevolgd door een oplopend nummer.

# 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

het plakken van de code in je terminal werkt prima, maar als goede praktijk is het beter als je een script bestand maakt om in plaats daarvan uit te voeren.

hieronder kunt u in actie zien hoe de code alle bestanden hernoemt.

bestanden hernoemen met een For Loop
bestanden hernoemen met een For Loop

bestanden hernoemen in Linux met het rename Utility

als je een enkel bestand hernoemt in je dagelijkse routine, dan is het mv commando voldoende. Maar misschien wil je meerdere bestanden met hetzelfde patroon tegelijk hernoemen? Bijvoorbeeld, het hernoemen van bestanden die beginnen met een bepaald woord (bestand). Installeer in dat geval het hulpprogramma hernoemen in plaats daarvan.

het hulpprogramma hernoemen hernoemt meerdere bestanden, wijzigt de bestandsindelingen en overschrijft bestanden.

om het hulpprogramma hernoemen te installeren, voert u een van de onderstaande commando ‘ s uit, afhankelijk van de Linux distro waaraan u werkt.

# 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

hieronder kunt u de syntaxis van het rename Commando zien.

rename <options> <perlexpr> <files>

hernoemen van meerdere bestanden

met de syntaxis rename kunt u nu bestanden hernoemen die hetzelfde patroon hebben. Wat geweldig is aan het rename commando is dat je geen lus functie hoeft te declareren om meerdere bestanden te hernoemen zoals je deed in de “hernoemen van meerdere bestanden met een For Loop” sectie.

misschien wilt u bestanden met bepaalde woorden hernoemen. Als dat zo is, kijk dan eens naar de Perl reguliere expressie ('s/file/myfile/') in het voorbeeld commando hieronder. Perl reguliere expressies definiëren een string patroon gebaseerd op de Perl programmeertaal.

om te voorkomen dat andere bestanden per ongeluk worden hernoemd, moet u alle betrokken bestanden weergeven voordat u ze hernoemt door de optie -n toe te voegen, zoals hieronder te zien is.

rename -n 's/file/myfile/' *.txt
lijst van betrokken bestanden voordat ze hernoemen
lijst van betrokken bestanden voordat ze hernoemen

Voer nu een van de onderstaande rename commando ‘ s 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-expressie ('s/file/myfile/') geeft s substitutie aan, wat betekent dat u bestanden hernoemt. Merk op dat de optie -v is toegevoegd om terug te geven welke bestanden het commando hernoemde.

# 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

hieronder kunt u zien dat elk” bestand “woord in de tekstbestanden wordt hernoemd naar” mijnbestand.”

een bestand hernoemen met het commando hernoemen
een bestand hernoemen met het commando rename

als u liever alle bestanden hernoemen, verwijdert u de bestandsextensie wanneer u het bestandspad opgeeft, bijvoorbeeld, rename -v 's/file/myfile/' ~/test/*

bestandsextensies veranderen

anders dan 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 moet worden gewijzigd in een perl-expressie wanneer u het rename – commando uitvoert.

voer onderstaande opdracht rename uit om de extensie van alle bestanden (*) te wijzigen van .txt naar .html in de map ~/test. Het $ symbool in de Perl expressie komt overeen met het einde van een string (.txt) aan elke bestandsnaam, dus het commando verandert alleen .txt bestandsextensies. En net als bij het hernoemen van meerdere bestanden, voeg de -v optie toe om elke wijziging die het commando maakt weer te geven.

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

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

zoals je ziet in de afbeelding hieronder, de .txt extensies veranderd in .html

het veranderen van bestandsextensies van .txt to .html
bestandsextensies wijzigen van.txt to .html

het veranderen van bestandsnamen in 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, niet wetende dat de bestandsnaam in kleine letters staat.

Linux is hoofdlettergevoelig, dus laten we er zeker van zijn dat je de letter van elke bestandsnaam goed hebt. Letter case is in principe het onderscheid van teksten tussen kleine en hoofdletters.

voer een van de onderstaande rename commando ‘ s uit om alle kleine (a-z) bestandsnamen in de werkmap (*) te veranderen in hoofdletters (A-Z) en vice versa.

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

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

bestandsnaam wijzigen van kleine letters naar hoofdletters en Vice Versa
bestandsnaam wijzigen van kleine letters naar hoofdletters en Vice Versa

het vervangen en verwijderen van spaties in bestandsnamen

zoals de letter van een bestandsnaam, kunt u problemen hebben met het vinden van bestanden als ze spaties in hun bestandsnamen hebben. Laten we dat oplossen door spaties te vervangen door een teken of de spaties helemaal te verwijderen.

voer onderstaande opdracht rename uit om spaties in alle bestandsnamen te vervangen door een underscore (_) in de werkmap. Omdat underscore een metacharacter is, escape it met een backslash (\_) om de underscore letterlijk te verklaren. Metacharacters zijn speciale tekens met speciale betekenissen in een computerprogramma.

merk op dat de g in de Perl-expressie het commando vertelt om alle overeenkomsten (spaties) te vervangen, en niet alleen de eerste.

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

hieronder kunt u zien dat het commando alle spaties heeft vervangen door underscores.

spaties vervangen door underscores in een bestandsnaam
spaties vervangen door underscores in een bestandsnaam

om alle spaties in een bestandsnaam te verwijderen in plaats van ze te vullen met een teken, voer je het onderstaande commando uit.

in de Perl-expressie hieronder komt het sterretje na de lege spatie (/ *) overeen met alle voorkomen van spaties in een bestandsnaam en niet alleen de eerste. Het vervangende teken is leeg (//), dus het commando rename verwijdert alle (g) spaties.

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

hieronder kunt u zien dat alle spaties uit elke bestandsnaam worden verwijderd.

alle spaties in bestandsnamen verwijderen
alle spaties in bestandsnamen verwijderen

hoofdletters maken van de eerste Letter van elk woord in een bestandsnaam

als u de spaties wilt behouden en in plaats daarvan de eerste letter van elk woord in een bestandsnaam wilt gebruiken, hebt u een complexere Perl-expressie nodig. Neem een kijkje op het voorbeeld commando hieronder.

de onderstaande Perl-expressie komt overeen met elk enkel teken (\w) in een woordgrens (\b) zolang het teken geen punt of apostrof is (?<!). Het commando rename vertaalt deze letter naar hoofdletters (u$&).

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

hieronder kunt u zien dat elk woord in de bestandsnamen begint met een hoofdletter terwijl de bestandsextensies onaangeroerd blijven.

hoofdletters van elk woord in bestandsnamen
hoofdletters van elk woord in bestandsnamen

conclusie

gedurende deze tutorial, heb je vele manieren geleerd om Linux bestanden te hernoemen via GUI en command-line terminal. Je hebt nu een goed begrip van hoe namen te manipuleren voor enkele en meerdere bestanden tegelijk.

waarom niet Linux shell scripting leren, en een script maken om het hernoemen van bestanden in Linux te automatiseren?

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.