Linux rename Command Tutorial voor Beginners (met voorbeelden)

Als je in Linux op de commandoregel met bestanden werkt, is het hernoemen van bestanden een van de meest voorkomende taken waar je mee te maken kunt krijgen. We hebben al het mv commando besproken waarmee je dit kunt doen. En hier, in deze handleiding, bespreken we nog zo’n hulpmiddel, bijgenaamd rename.

Maar voor we daarmee beginnen, is het de moeite waard te vermelden dat alle voorbeelden in dit artikel getest zijn op een Ubuntu 18.04 LTS machine.

Linux commando rename

Zoals de naam al doet vermoeden, kun je met het rename commando in Linux bestanden hernoemen. Hieronder volgt de syntaxis ervan:

rename [options] expression replacement file...

En hier is hoe de man pagina van het gereedschap het uitlegt:

rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.

Merk op dat als je het rename commando niet geïnstalleerd hebt, je het kunt krijgen met het volgende commando:

sudo apt install rename

Hieronder volgen enkele vraag-antwoord-achtige voorbeelden die je een beter idee moeten geven van hoe het rename commando werkt.

Q1. Hoe gebruik je het rename commando?

Het basisgebruik is niet echt rechttoe rechtaan, moet ik zeggen, maar het is niet moeilijk te begrijpen. Stel dat je een bestand hebt met de naam ’test.txt’ en je wilt het hernoemen naar ‘new.txt’. Dan staat hier hoe je het rename commando gebruikt om dat te doen.

rename 's/test/new/' test.txt

Q2. Hoe gaat rename om met symbolische links?

Standaard hernoemt het rename commando alleen het bestand dat als invoer wordt doorgegeven, zelfs als het een symbolische link is. Wil je echter dat het gereedschap symbolische links niet hernoemt, maar in plaats daarvan op hun doel ingrijpt, gebruik dan de -s commandoregeloptie.

Dus als symlink.txt een symbolische link is die naar root.txt wijst, dan zorgt het volgende commando ervoor dat de hernoem operatie gebeurt voor root.txt:

rename -s 's/root/new/' symlink.txt

Q3. Hoe maak je een droogloop met rename?

Stel dat je alleen de uiteindelijke verandering wilt zien die met een rename commando zal gebeuren, zonder het daadwerkelijk uit te voeren, gebruik dan de -n commandoregel optie. Bijvoorbeeld, het volgende commando:

rename -n 's/new/test/' new.txt

produceerde de volgende uitvoer:

rename(new.txt, test.txt)

maar hernoemde new.txt niet daadwerkelijk naar test.txt.

Q4. Hoe gaat rename om met het overschrijven van bestanden?

Standaard voert het rename commando de bewerking niet uit als het gaat om het overschrijven van een bestaand bestand. Je kunt het gereedschap echter dwingen te overschrijven met de -f commandoregeloptie.

Bijvoorbeeld, het volgende commando:

rename 's/new/test/' new.txt

produceerde de volgende uitvoer:

new.txt not renamed: test.txt already exists

Maar wanneer het -f commando gebruikt werd:

rename -f 's/new/test/' new.txt

Voltooide de bewerking vlot en werd test.txt overschreven.

Conclusie

Het rename commando biedt niet al te veel mogelijkheden, en we hebben hier al enkele van de voornaamste besproken. Als je klaar bent met deze te oefenen, ga dan naar de man pagina van het gereedschap om er meer over te leren.