Inleiding

Linux biedt verschillende opties voor het hernoemen van bestanden, waaronder het gebruik van de GUI en meerdere dedicated terminal commando ‘ s. Dit maakt het relatief eenvoudig om afzonderlijke bestanden te hernoemen, maar het kan een uitdaging zijn om meerdere bestanden tegelijk te hernoemen.

in deze tutorial zullen we verschillende commando ‘ s doornemen die je in de Linux terminal kunt gebruiken om bestanden in Linux te hernoemen.

het hernoemen van bestanden in Linux

Vereisten

  • een systeem met Een Linux-distributie
  • Een account met sudo-rechten
  • Toegang tot het venster terminal/command line
  • Toegang tot een tekst-editor, zoals Vim of Nano

Naam wijzigen van Bestanden met het mv Commando

De Linux mv (verplaatsen) – opdracht wordt gebruikt om de bestanden en mappen van de terminal. Het gebruikt de volgende syntaxis:

mv 

als u een map als doel opgeeft bij gebruik van het commando mv, wordt het bronbestand naar die map verplaatst. Als de bestemming een andere bestandsnaam is, hernoemt het commando mv het bronbestand naar die naam.

opmerking: Lees meer over het gebruik van het MV commando in onze gids voor het verplaatsen van directory ‘ s in Linux.

een enkel bestand hernoemen met het MV Commando

met het commando mv met de standaard syntaxis kunt u een enkel bestand hernoemen:

mv 

bijvoorbeeld, als we voorbeeld1 willen hernoemen.txt in voorbeeld2.txt, zouden we gebruiken:

mv example1.txt example2.txt

omdat er geen uitvoer is als het commando succesvol is, gebruiken we het ls commando om te controleren of de naam veranderd is:

ls -l
een enkel bestand hernoemen met het MV Commando

hernoem meerdere bestanden met het MV Commando

op zichzelf, hernoemt het commando mv een enkel bestand. Door het te combineren met andere commando ‘ s kunt u echter meerdere bestanden tegelijkertijd hernoemen.

een methode is om de opdracht find te gebruiken om meerdere bestanden met een vergelijkbare naam te selecteren en vervolgens de opdracht mv te gebruiken om ze te hernoemen:

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

met behulp van deze syntaxis definieert het find commando een element van de huidige bestandsnaam als de zoekparameter. Vervolgens voert -exec het commando mv uit op alle bestanden die overeenkomen met de zoekopdracht, waarbij de huidige bestandsnamen worden gewijzigd in de nieuwe.

bijvoorbeeld, als we voorbeeld1 hebben.txt, voorbeeld 2.txt, en voorbeeld3.txt en willen de extensie te wijzigen .pdf:

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;
hernoemen van meerdere bestanden met behulp van de find en MV commando ' s

een andere methode is om het mv commando te gebruiken als onderdeel van een <strong>for</strong> lus in een bash script.

in hetzelfde voorbeeld start u met het maken en openen van een bash scriptbestand met behulp van een teksteditor zoals Nano:

sudo nano rename_files.sh

opmerking: meer informatie over het gebruik van bash scripts om bestanden en mappen in Linux te beheren.

voeg de volgende regels toe aan het script:

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

In het bovenstaande script:

  • de eerste regel instrueert het script om te zoeken naar alle bestanden in de huidige map die eindigt met .txt.
  • de tweede regel gebruikt het mv commando op elk gevonden bestand om het te vervangen .txt extensie met .pdf.
  • de derde regel eindigt het lussegment.

druk op Ctrl + X, typ vervolgens Y en druk op Enter om de wijzigingen in het script op te slaan en af te sluiten.

gebruik de opdracht sh om het script uit te voeren:

sh rename_files.sh
hernoemen van meerdere bestanden met behulp van een bash script

bestand hernoemen met het commando hernoemen

het commando rename wordt gebruikt om meerdere bestanden of mappen in Linux te hernoemen. Het biedt meer functies dan het mv Commando, maar kan uitdagender zijn om te gebruiken omdat het basiskennis van Perl expressies vereist.

Hoe installeer ik de opdracht hernoemen

op veel Linux distributies is de opdracht rename standaard niet beschikbaar. Als uw systeem het rename Commando mist, installeer het dan met:

  • Voor Ubuntu en Debian, gebruik sudo apt install rename
  • voor CentOS en Fedora, gebruik sudo yum install prename
  • voor Arch Linux, gebruik sudo pacman -S hernoem

hernoem Commando syntaxis en opties

er zijn drie soorten Perl reguliere expressies: match, substitute en translate. Het rename commando gebruikt substitute en translate expressions om bestandsnamen en mapnamen te wijzigen.

Substitute expressions vervang een deel van de bestandsnaam door een andere tekenreeks. Ze gebruiken de volgende syntaxis:

rename 's///' 

met deze syntaxis hernoemt het commando het bestand door het eerste voorkomen van het bestandsnaamelement te vervangen door de vervanging. In het bovenstaande commando:

  • rename: roept het commando hernoemen aan.
  • : biedt een optioneel argument dat de manier waarop het commando wordt uitgevoerd verandert.
  • s: geeft een vervangende uitdrukking aan.
  • : specificeert het deel van de bestandsnaam dat u wilt vervangen.
  • : specificeert een vervanging voor het deel van de huidige bestandsnaam.
  • : definieert het bestand dat u wilt hernoemen.

een vertaal uitdrukking vertaalt een tekenreeks naar een andere, teken voor teken. Dit type expressie gebruikt de volgende syntaxis:

rename 'y///' 

een voorbeeld van een rename – opdracht met een vertaal-expressie:

rename 'y/abc/xyz/'

in dit voorbeeld wordt elk a-teken in de bestandsnaam vervangen door een x, elke b door een y en elke c door een z.

het commando hernoemen gebruikt de volgende opties:

  • -a: vervangt alle exemplaren van het bestandsnaam element in plaats van alleen de eerste.
  • -f: Forceert het overschrijven van bestaande bestanden.
  • -h: hier wordt de hulptekst weergegeven.
  • -i: geeft een prompt weer voor het overschrijven van bestaande bestanden.
  • -l: vervangt het laatste voorkomen van het bestandsnaamelement in plaats van het eerste.
  • -n: voert een dry run, het maken van geen permanente wijzigingen. Het beste gecombineerd met de uitgebreide uitvoer (-v).
  • -s: hernoemt het doel in plaats van de symbolische koppeling.
  • -v: toont een uitgebreide versie van de uitvoer.
  • -V: toont de opdrachtversie.

Opdrachtvoorbeelden hernoemen

1. Verander bestandsextensie

terug naar ons laatste voorbeeld, om de bestandsextensie van te wijzigen .txt to .pdf, gebruik:

rename -v 's/.txt/.pdf/' *.txt
de opdracht hernoemen gebruiken om de bestandsextensie te vervangen

2. Het vervangen van een deel van een bestandsnaam

het vervangen van een ander deel van de bestandsnaam volgt dezelfde syntaxis. Om voorbeeld1 te hernoemen.txt, voorbeeld 2.txt, en voorbeeld3.txt aan test1.txt, test2.txt, en text3.txt, gebruik:

rename -v 's/example/test/' *.txt
meerdere bestanden hernoemen met de opdracht hernoemen

3. Een deel van een bestandsnaam verwijderen

met de optie rename kunt u ook een deel van de bestandsnaam verwijderen door het vervangende deel van de expressie weg te laten. Bijvoorbeeld, als we willen verkorten voorbeeld in ex:

rename -v 's/ample//' *.txt
een deel van de bestandsnaam verwijderen met de opdracht hernoemen

4. Bestanden met vergelijkbare namen hernoemen

een ander gebruik voor de optie rename is het hernoemen van bestanden met vergelijkbare namen. Bijvoorbeeld, als we bestanden willen hernoemen met voorbeeld en voorbeeld in hun naam om te testen:

rename -v 's/(ex|s)ample/test/' *.txt
hernoemen van meerdere bestanden met vergelijkbare namen met behulp van de opdracht hernoemen

5. Bestanden karakter-per-teken

met het commando rename kunt u ook translate expressions gebruiken om bestanden te hernoemen op een karakter-per-teken basis. Bijvoorbeeld, als u wilt hernoemen meerdere bestanden met de naam voorbeeld bestand door het vervangen van de lege ruimte met een underscore (_):

rename -v 'y/ /\_/' *.txt
lege spaties uit bestandsnamen verwijderen met de opdracht hernoemen

6. Converteer kleine letters

om kleine letters in bestandsnamen om te zetten in hoofdletters, gebruik:

rename -v 'y/a-z/A-Z/' *.txt
bestandsnamen converteren van kleine naar hoofdletters met de opdracht hernoemen

7. Converteer hoofdletters

het omgekeerde werkt ook als we de volgorde van de hoofdletters en kleine letters in de expressie wisselen:

rename -v 'y/A-Z/a-z/' *.TXT
bestandsnamen converteren van hoofdletters naar kleine letters met de opdracht hernoemen

let op: wees voorzichtig bij het veranderen van het karakter geval, want dit verandert ook de bestandsextensie.

conclusie

na het lezen van deze tutorial, zou je in staat moeten zijn om bestanden te hernoemen met behulp van de mv en rename commando ‘ s in Linux.

Lees meer over het gebruik van Linux commando ’s in onze Linux commando’ s Cheat Sheet.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.