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 ]

  1. -v: Drécken Nimm vun Fichieren erfollegräich ëmbenannt.
  2. -n: Weist wéi eng Dateien ëmbenannt gi wieren.
  3. -f: Zwangsiwwerschreiwe bestehend Dateien.
  4. 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.

  1. Éischt Argument ass e Perl Ausdrock deen .html mat .php ersetzt.
  2. 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.