Umbenennen - E Kommandozeil Tool Fir MÉI Dateien an Linux ëmbenennen
Mir benotzen dacks mv Kommando fir eng eenzeg Datei am Linux ëmbenennen. Wéi och ëmmer, Multiple oder Gruppe vu Dateien ëmbenennen mécht et séier eng ganz schwéier Aufgab an engem Terminal.
Linux kënnt mat engem ganz mächtege agebaute Tool mam Numm ëmbenennen. De Kommando ëmbenennen gëtt benotzt fir Multiple oder Gruppe vu Dateien ëmbenennen, Dateien op kleng Buschtawen ëmbenennen, Dateien op grouss Buschtawen ëmbenennen an Dateien iwwerschreiwe mat Perl Ausdréck.
De Kommando umbenennen ass en Deel vum Perl Skript an et wunnt ënner /usr/bin/ op ville Linux Verdeelungen. Dir kënnt wat Kommando lafen fir de Standort vum Kommando ëmbenennen erauszefannen.
$ which rename /usr/bin/rename
rename 's/old-name/new-name/' files
De Kommando ëmbenennen kënnt mat e puer fakultativen Argumenter zesumme mam obligatoresche Perl Ausdrock, deen de Kommando ëmbenennen fir tatsächlech Aarbecht ze maachen.
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
- -v: Drécken Nimm vun Fichieren erfollegräich ëmbenannt.
- -n: Weist wéi eng Dateien ëmbenannt gi wieren.
- -f: Zwangsiwwerschreiwe bestehend Dateien.
- perlexpr: Perl Ausdrock.
Fir e bessere Verständnis vun dësem Utility, hu mir e puer praktesch Beispiller vun dësem Kommando am Artikel diskutéiert.
1. A Basis ëmbenennen Kommando Beispill
Stellt Iech vir, datt Dir eng ganz Rëtsch Dateien mat der Extensioun .html hutt an Dir wëllt all .html Dateien op .php gläichzäiteg ëmbenennen. Zum Beispill, maacht als éischt e ls -l fir d'Lëscht vun de Dateien mat der Extensioun .html ze kontrolléieren.
# [email :~$ ls -l total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html -rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.html -rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html -rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html -rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.html -rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.html -rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.html
Elo wëllt Dir d'Extensioun vun all dëse Fichier vun .html op .php änneren. Dir kënnt de folgende Kommando umbenennen mat Perl Ausdrock benotzen wéi hei ënnendrënner.
[email :~$ rename 's/\.html$/\.php/' *.html
Notiz: Am uewe genannte Kommando hu mir zwee Argumenter benotzt.
- Éischt Argument ass e Perl Ausdrock deen .html mat .php ersetzt.
- Zweeten Argument seet dem Kommando ëmbenennen all d'Dateien duerch *.php z'ersetzen.
Loosst eis iwwerpréiwen ob all Dateien op .php Extensioun ëmbenannt ginn, maacht ls -l op der Prompt.
[email :~$ ls -l total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.php -rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.php -rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.php -rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.php -rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.php -rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.php -rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.php
Elo kënnt Dir uewen gesinn datt all HTML Dateien op php ëmbenannt ginn.
2. Iwwerpréift Ännerungen Ier Dir Running Kommando ëmbenennen
Wärend kritesch oder grouss ëmbenennen Aufgaben maacht, kënnt Dir ëmmer d'Ännerungen iwwerpréiwen andeems Dir de Kommando ëmbenennen mat -n Argument. De -n Parameter wäert Iech genau soen wat Ännerunge géife stattfannen, awer d'Ännerunge ginn net wierklech gemaach. Hei ass d'Beispill vum Kommando hei drënner.
[email :~$ rename -n 's/\.php$/\.html/' *.php cricket.php renamed as cricket.html entertainment.php renamed as entertainment.html health.php renamed as health.html lifestyle.php renamed as lifestyle.html news.php renamed as news.html photos.php renamed as photos.html sports.php renamed as sports.html
Bemierkung: Déi uewe genannte Kommandoausgang weist nëmmen Ännerungen, awer an der realer ginn d'Ännerungen net gemaach, ausser Dir leeft de Kommando ouni -n Schalter.
3. Drécken ëmbenennen Output
Mir hunn gesinn datt de Kommando ëmbenennen keng Informatioun iwwer Ännerungen ugewisen huet. Also, wann Dir d'Detailer vum Kommando ëmbenennen wëllt kréien (wéi mir d'Optioun -n benotzt hunn), hei benotze mir d'Optioun -v fir déi komplett Detailer vun all den Ännerungen ze drécken, déi mam Kommando ëmbenennen erfollegräich sinn.
[email :~$ rename -v 's/\.php$/\.html/' *.php cricket.php renamed as cricket.html entertainment.php renamed as entertainment.html health.php renamed as health.html lifestyle.php renamed as lifestyle.html news.php renamed as news.html photos.php renamed as photos.html sports.php renamed as sports.html
4. Konvertéiert all kleng Buschtawen op Grouss a Vise-Versa
Fir Batch ëmbenennen all Dateie mat klengen Buschtaf Nimm op grouss Buschtawen. Zum Beispill, ech wëll all dës folgend Dateie vu klengen bis ieweschte Buschtawen verstoppen.
[email :~$ ls -l total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html -rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.html -rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html -rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html -rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.html -rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.html -rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.html
Just, benotzt de folgende Kommando mat Perl Ausdrock.
[email :~$ rename 'y/a-z/A-Z/' *.html
Wann Dir de uewe genannte Kommando ausgefouert hutt, kënnt Dir d'Ännerunge kontrolléieren andeems Dir ls -l maacht.
[email :~$ ls -l total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 CRICKET.HTML -rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 ENTERTAINMENT.HTML -rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 HEALTH.HTML -rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 LIFESTYLE.HTML -rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 NEWS.HTML -rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 PHOTOS.HTML -rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 SPORTS.HTML
Dir kënnt gesinn, datt de Kommando uewendriwwer eigentlech all kleng Buschtawen Fichier Nimm ëmbenannt (mat .HTML Extensioun) zu grouss Buschtawen.
Ähnlech kënnt Dir och all grouss Buschtawen op kleng Buschtawen konvertéieren andeems Dir de folgende Kommando benotzt.
[email :~$ rename 'y/A-Z/a-z/' *.HTML
[email :~$ ls -l total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html -rw-rw-r-- 1 ravisaive ravisaive 588895 Oct 10 12:10 entertainment.html -rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html -rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html -rw-rw-r-- 1 ravisaive ravisaive 938895 Oct 10 12:10 news.html -rw-rw-r-- 1 ravisaive ravisaive 938937 Oct 10 12:11 photos.html -rw-rw-r-- 1 ravisaive ravisaive 978137 Oct 10 12:11 sports.html
5. Kapitaliséierung Éischt Bréif vum Dateinumm
Fir nëmmen den éischte Buschtaf vun all Dateinumm ze kapitaliséieren, benotzt de folgende Kommando.
# rename 's/\b(\w)/\U$1/g' *.ext
6. Iwwerschreiwe bestehend Fichieren
Wann Dir déi existent Dateie mat Kraaft iwwerschreiwe wëllt, benotzt d'Optioun -f wéi hei ënnendrënner.
[email :~$ rename -f 's/a/b/' *.html
Wann Dir méi iwwer de Kommando ëmbenennen wësse wëllt, gitt de Mann ëmbenennen am Terminal.
De Kommando ëmbenennen ass ganz nëtzlech, wann Dir mat multiple oder batch ëmbenennen Dateien aus der Kommandozeil beschäftegt. Probéiert emol a loosst mech wëssen, wéi wäit et nëtzlech ass wat den Numm vun Dateien ugeet.