Introducere
Linux oferă mai multe opțiuni pentru redenumirea fișierelor, inclusiv utilizarea GUI și a mai multor comenzi terminale dedicate. Acest lucru face relativ ușor redenumirea fișierelor individuale, dar poate fi dificil să redenumiți mai multe fișiere simultan.
în acest tutorial, vom trece peste diferite comenzi pe care le puteți utiliza în terminalul Linux pentru a redenumi fișierele în Linux.
cerințe preliminare
- un sistem care rulează o distribuție Linux
- un cont cu privilegii sudo
- acces la fereastra terminalului/linia de comandă
- acces la un editor de text, cum ar fi vim sau Nano
Redenumiți fișierele cu comanda mv
Linux mv
comanda (mutare) este utilizată pentru a muta fișiere și directoare de la terminal. Acesta utilizează următoarea sintaxă:
mv
dacă specificați un director ca destinație atunci când utilizați comanda mv
, fișierul sursă se mută în acel director. Dacă destinația este un alt nume de fișier, comanda mv
redenumește fișierul sursă la acel nume.
notă: Aflați mai multe despre utilizarea comenzii mv în ghidul nostru pentru mutarea directoarelor în Linux.
redenumiți un singur fișier cu comanda mv
folosind comanda mv
cu sintaxa implicită vă permite să redenumiți un singur fișier:
mv
de exemplu, dacă dorim să redenumim exemplul1.txt în exemplu2.txt, ne-ar folosi:
mv example1.txt example2.txt
deoarece nu există ieșire dacă comanda are succes, folosim comanda ls
pentru a verifica dacă numele este schimbat:
ls -l
redenumiți mai multe fișiere cu comanda mv
pe cont propriu, comanda mv
redenumește un singur fișier. Cu toate acestea, combinarea acestuia cu alte comenzi vă permite să redenumiți mai multe fișiere în același timp.
o metodă este de a utiliza comanda find
pentru a selecta mai multe fișiere cu un nume similar, apoi utilizați comanda mv
pentru a le redenumi:
find . -depth -name "" -exec sh -c 'f="{}"; mv -- "$f" "${f%}"' \;
folosind această sintaxă, comanda find
definește un element al numelui fișierului curent ca parametru de căutare. Apoi, -exec
execută comanda mv
pentru orice fișiere care se potrivesc căutării, schimbându-le numele de fișiere curente în cel nou.
de exemplu, dacă avem exemplul1.txt, exemplu2.txt, și exemplu3.txt și doriți să modificați extensia la .pdf:
find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;
o altă metodă este de a utiliza comanda mv
ca parte a unei bucle <strong>for</strong>
într-un script bash.
folosind același exemplu, începeți prin crearea și deschiderea unui fișier script bash folosind un editor de text, cum ar fi Nano:
sudo nano rename_files.sh
notă: Aflați mai multe despre utilizarea scripturilor bash pentru a gestiona fișiere și directoare în Linux.
adăugați următoarele linii la script:
#!/bin/bashfor f in *.txt; do mv -- "$f" "${f%.txt}.pdf"done
în scenariul de mai sus:
- prima linie instruiește scriptul să caute toate fișierele din directorul curent care se termină cu .txt.
- a doua linie utilizează comanda
mv
pe fiecare fișier găsit pentru a înlocui .extensie txt cu .pdf. - a treia linie încheie segmentul de buclă.
apăsați Ctrl+X, apoi tastați Y și apăsați Enter pentru a salva modificările scriptului și a ieși.
utilizați comanda sh
pentru a executa scriptul:
sh rename_files.sh
redenumiți fișierul cu comanda redenumire
comanda rename
este utilizată pentru a redenumi mai multe fișiere sau directoare în Linux. Oferă mai multe funcții decât comanda mv
, dar poate fi mai dificil de utilizat, deoarece necesită cunoștințe de bază despre expresiile Perl.
cum se instalează comanda redenumire
pe multe distribuții Linux, comanda rename
nu este disponibilă în mod implicit. Dacă sistemul dvs. lipsește comanda rename
, instalați-l cu:
- Pentru Ubuntu și Debian, utilizați
sudo apt install rename
- pentru CentOS și Fedora, utilizați
sudo yum install prename
- pentru Arch Linux, utilizați
sudo pacman -S
redenumiți
redenumiți sintaxa comenzii și opțiunile
există trei tipuri de expresii regulate Perl: și traduceți. Comanda rename
folosește expresii de înlocuire și traducere pentru a schimba numele fișierelor și directoarelor.
expresii substitutive înlocuiți o parte a numelui fișierului cu un șir diferit. Ei folosesc următoarea sintaxă:
rename 's///'
cu această sintaxă, comanda redenumește fișierul înlocuind prima apariție a elementului de nume de fișier cu înlocuirea. În comanda de mai sus:
-
rename
: invocă comanda redenumire. -
: oferă un argument opțional care schimbă modul în care comanda execută.
-
s
: indică o expresie substitut. -
: specifică partea din numele fișierului pe care doriți să o înlocuiți.
-
: specifică un înlocuitor pentru partea din numele fișierului curent.
-
: definește fișierul pe care doriți să îl redenumiți.
o expresie translate traduce un șir de caractere în altul, caracter pentru caracter. Acest tip de Expresie utilizează următoarea sintaxă:
rename 'y///'
un exemplu de comandă rename
folosind o expresie de traducere:
rename 'y/abc/xyz/'
în acest exemplu, fiecare caracter a din numele fișierului este înlocuit cu un x, fiecare b cu un y și fiecare c cu un z.
comanda redenumire utilizează următoarele opțiuni:
-
-a
: înlocuiește toate aparițiile elementului nume de fișier în loc de doar primul. -
-f
: Forțează o suprascriere a fișierelor existente. -
-h
: Afișează textul de ajutor. -
-i
: afișează o solicitare înainte de a suprascrie fișierele existente. -
-l
: înlocuiește Ultima apariție a elementului nume de fișier în loc de primul. -
-n
: efectuează o alergare uscată, fără a face modificări permanente. Cel mai bine combinat cu ieșirea verbose (-v
). -
-s
: Redenumește ținta în loc de legătura simbolică. -
-v
: afișează o versiune detaliată a ieșirii. -
-V
: Afișează versiunea de comandă.
redenumiți exemplele de comandă
1. Schimbați extensia de fișier
revenind la ultimul nostru exemplu, pentru a schimba extensia de fișier din .txt la .pdf, utilizare:
rename -v 's/.txt/.pdf/' *.txt
2. Înlocuirea unei părți a unui nume de fișier
înlocuirea unei părți diferite a numelui de fișier urmează aceeași sintaxă. Pentru a redenumi exemplul1.txt, exemplu2.txt, și exemplu3.txt la test1.txt, test2.txt și text3.txt, utilizare:
rename -v 's/example/test/' *.txt
3. Ștergerea unei părți a unui nume de fișier
opțiunea rename
vă permite, de asemenea, să ștergeți o parte a numelui de fișier omițând partea de înlocuire a expresiei. De exemplu, dacă vrem să scurtăm exemplul în ex:
rename -v 's/ample//' *.txt
4. Redenumiți fișierele cu nume similare
o altă utilizare pentru opțiunea rename
este redenumirea fișierelor cu nume similare. De exemplu, dacă dorim să redenumim fișierele cu exemplu și eșantion în numele lor pentru a testa:
rename -v 's/(ex|s)ample/test/' *.txt
5. Redenumiți fișierele caracter cu caracter
comanda rename
vă permite, de asemenea, să utilizați expresii de traducere pentru a redenumi fișierele pe bază de caractere. De exemplu, dacă doriți să redenumiți mai multe fișiere numite exemplu fișier înlocuind spațiul gol cu un subliniere (_):
rename -v 'y/ /\_/' *.txt
6. Conversia caracterelor minuscule
pentru a converti caracterele minuscule din numele fișierelor în caractere majuscule, utilizați:
rename -v 'y/a-z/A-Z/' *.txt
7. Conversia caracterelor majuscule
reversul funcționează și dacă comutăm ordinea caracterelor majuscule și minuscule din Expresie:
rename -v 'y/A-Z/a-z/' *.TXT
Notă: aveți grijă când schimbați cazul caracterelor, deoarece aceasta modifică și extensia fișierului.
concluzie
după ce ați citit acest tutorial, ar trebui să puteți redenumi fișierele folosind comenzile mv
și rename
în Linux.
Aflați mai multe despre utilizarea comenzilor Linux în foaia noastră de comenzi Linux.