Overzicht
rename is een krachtig commando dat wordt gebruikt om grote aantallen bestandsnamen volgens een regel te wijzigen. Dit commando kan specifieke strings in bestandsnamen vinden en vervangen door andere strings met behulp van Perl reguliere expressie-syntaxis zoals `s/oud_patroon/nieuw_patroon/`. U kunt bijvoorbeeld eenvoudig taken automatiseren zoals het wijzigen van alle `.jpeg`-extensies naar `.jpg`, of het vervangen van spaties in bestandsnamen door underscores (`_`).
Belangrijkste kenmerken
De belangrijkste kenmerken van het rename-commando zijn:
- Wijzigt de namen van meerdere bestanden tegelijk.
- Biedt krachtige patroonvervangingsmogelijkheden op basis van reguliere expressies.
- In tegenstelling tot het `mv`-commando, dat bestanden één voor één wijzigt, is rename geoptimaliseerd voor batchverwerking.
- Ondersteunt een `dry run`-modus om de te wijzigen resultaten vooraf te bekijken en fouten te voorkomen.
Verschillen tussen rename en mv
rename en mv worden beide gebruikt om bestandsnamen te wijzigen, maar verschillen in functionaliteit en doel.
- rename: Is gespecialiseerd in het in bulk wijzigen van meerdere bestandsnamen op basis van patronen.
- mv: Wordt gebruikt om de naam van een enkel bestand of map te wijzigen of te verplaatsen. Voor het wijzigen van meerdere bestanden is een script nodig.
Belangrijkste opties
Veelgebruikte opties van het rename-commando zijn gegroepeerd op doel.
1) Bulkhernoemen
2) Hulp
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`rename` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruiksvoorbeelden
Leer de functionaliteit van het rename-commando kennen via verschillende gebruiksvoorbeelden.
Bestandsextensie wijzigen
rename 's/\.jpeg$/.jpg/' *.jpeg
Wijzigt alle `.jpeg`-extensies in de huidige map naar `.jpg`.
Specifieke string in bestandsnaam wijzigen
rename 's/^image_/photo_/' *.jpeg
Wijzigt `image_` naar `photo_` in alle bestandsnamen die beginnen met `image_`.
Spaties vervangen door underscores
rename 's/ /_/g' *
Vervangt alle spaties (` `) in bestandsnamen door underscores (`_`).
Hoofdletters converteren naar kleine letters
rename 'y/A-Z/a-z/' *
Converteert alle hoofdletters in bestandsnamen naar kleine letters.
Voorbeeld van te verwachten wijzigingen
rename -n 's/.html/.txt/' *.html
Bekijk een voorbeeld van het resultaat wanneer u de `.html`-extensie naar `.txt` wijzigt, zonder de daadwerkelijke bestanden te wijzigen.
Installatie
rename is niet standaard in alle Linux-distributies opgenomen en moet daarom worden geïnstalleerd met de onderstaande commando's. In sommige distributies kan de pakketnaam anders zijn, zoals `perl-rename` of `prename`.
Debian/Ubuntu
sudo apt update
sudo apt install rename
RHEL/CentOS/Fedora
sudo dnf install prename
Arch Linux
sudo pacman -S perl-rename
Tips & Aandachtspunten
Hier zijn enkele belangrijke overwegingen bij het gebruik van het rename-commando.
Tips
- In reguliere expressies betekent een punt (`.`) elk teken. Daarom moet u bij het wijzigen van extensies, zoals `.jpeg`, een backslash (`\`) gebruiken om het te escapen, bijvoorbeeld `\.jpeg`.
- rename is een krachtig hulpmiddel; om fouten te voorkomen, is het altijd raadzaam om eerst de `-n`-optie te gebruiken om de resultaten te controleren.
- Als bestandsnamen spaties bevatten, moeten ze tussen aanhalingstekens (`"`) worden geplaatst wanneer ze als argumenten worden doorgegeven.