Adam Automatorul

sunteți nou în sistemul de operare Linux? Dacă da, sarcinile obișnuite, cum ar fi redenumirea fișierelor și folderelor, pot fi diferite de cele obișnuite. Dar nu te agita. Conceptul de redenumire a fișierelor în Linux este similar cu modul în care se face în alte sisteme de operare.

în acest tutorial, veți învăța multe moduri de a redenumi fișiere unice și multiple în Linux, atât prin GUI, cât și prin comenzi care rulează într-un terminal.

să începem!

cuprins

cerințe preliminare

să urmeze de-a lungul în cadrul acestui tutorial, asigurați – vă că aveți următoarele:

  • acest tutorial folosește Ubuntu 18.04 LTS, dar alte distribuții Linux vor funcționa.
  • un cont cu acces sudo/administrator.

redenumirea fișierelor cu managerul de fișiere

dacă sunteți obișnuiți să gestionați fișiere prin GUI, să începem acest tutorial pentru a redenumi fișierele cu un manager de fișiere. Managerii de fișiere GUI sunt îngrijite, deoarece puteți vedea fișierele la vedere. Unul dintre acei manageri de fișiere disponibili în Linux este fostul manager de fișiere GNOME, Nautilus. Acest tutorial demonstrează redenumirea fișierelor utilizând Managerul de fișiere Nautilus.

ceilalți manageri de fișiere Linux sunt Konqueror, Dolphin, Krusader, Thunar, Nemo file manager și Sunflower file manager. Acești manageri de fișiere îndeplinesc aceeași sarcină, dar redenumirea fișierelor sau directoarelor poate fi ușor diferită.

lansați terminalul, apoi executați comanda de mai jos pentru a instala Nautilus (install nautilus) cu managerul de pachete apt dacă nu îl aveți încă pe computer. Comanda sudo ridică comanda cu drepturi sudo / administrator.

sudo apt install nautilus

redenumirea unui singur fișier

redenumirea unui singur fișier în Nautilus durează doar câteva clicuri, ca în Windows File Explorer.

pentru a redenumi un singur fișier, deschideți Nautilus, faceți clic dreapta pe fișierul pe care doriți să îl redenumiți și alegeți redenumiți, așa cum se arată mai jos.

acest exemplu se concentrează pe redenumirea fișierelor, dar procesul este același pentru a redenumi atât fișierele, cât și directoarele.

redenumirea unui singur fișier
redenumirea unui singur fișier

acum tastați noul nume de fișier pentru a înlocui numele fișierului original, apăsați Enter sau faceți clic pe Redenumire și asta este.

introducerea numelui de fișier nou
introducerea numelui de fișier nou

redenumirea mai multor fișiere utilizând Nautilus File Manager

ca Windows, Ubuntu vă oferă mai multe opțiuni despre modul în care doriți să redenumiți mai multe fișiere simultan.

pentru a redenumi mai multe fișiere, Selectați toate fișierele pe care doriți să le redenumiți, faceți clic dreapta pe oricare dintre ele și alegeți redenumiți. Va apărea o fereastră pop-up în care puteți alege modul în care doriți să redenumiți fișierele selectate.

Redenumirea Mai Multor Fișiere Folosind Nautilus.
Redenumirea Mai Multor Fișiere Folosind Nautilus.

mai jos, există două opțiuni din care puteți alege, în funcție de modul în care doriți să redenumiți fișierele selectate.

  • redenumiți folosind un șablon – acest lucru vă permite să redenumiți fișierele în trepte.
  • găsiți și înlocuiți text – vă permite să găsiți și să înlocuiți anumite texte în numele fișierelor.

redenumirea fișierelor utilizând un șablon

pentru a redenumi fișierele utilizând un șablon, selectați opțiunea Redenumire utilizând un șablon.

Acum introduceți numele de înlocuire în câmpul gol pentru a redenumi fișierele cu un șablon și faceți clic pe butonul +Adăugare și alegeți dintre șabloane. Pentru acest tutorial, selectați primul (1,2,3,4) și faceți clic pe Redenumire. Această opțiune adaugă numere de incrementare la fiecare fișier după numele fișierului de înlocuire (Text1, Text2,…).

redenumirea fișierelor utilizând un șablon
redenumirea fișierelor utilizând un șablon

observați că numele fișierelor s-au schimbat în Text, urmate de creșterea numerelor.

verificarea numelor de fișiere schimbat la "Text" cu incrementarea Num
verificarea numelor de fișiere schimbat la „Text” cu incrementarea Num

găsirea și înlocuirea cuvintelor din numele fișierelor

pentru a redenumi mai multe fișiere cu un anumit nume de fișier, selectați opțiunea Găsire și înlocuire text.

Introduceți textul în câmpul text existent și textul de înlocuire în câmpul înlocuire cu, apoi faceți clic pe Redenumire pentru a înlocui textul. Această opțiune găsește și înlocuiește anumite texte în numele fișierelor.

înlocuirea textelor în numele fișierelor
înlocuirea textelor în numele fișierelor

acum, Puteți vedea mai jos că ați înlocuit cuvântul „Text” cu „fișier” în fiecare nume de fișier.

verificarea cuvântului "Text" a fost înlocuit cu cuvântul "fișier" pe fiecare fișier
verificarea cuvântului „Text” a fost înlocuit cu cuvântul „fișier” pe fiecare fișier

redenumirea fișierelor cu comanda mv

dacă rularea comenzilor este lucrul dvs. în loc să navigați într-o interfață grafică, pregătiți-vă să învățați cum să redenumiți fișierele într-un terminal. Redenumirea fișierelor în terminalul Linux este similară cu a face acest lucru în alte medii de linie de comandă, cum ar fi PowerShell. Executați comenzile pentru a redenumi numele fișierului original cu numele fișierului țintă și asta este.

există două scenarii în redenumirea unui fișier. Primul este redenumirea unui fișier din Directorul de lucru, iar al doilea este prin specificarea căii complete. Aruncați o privire la sintaxa de comandă mv de mai jos pentru a redenumi un fișier, unde source este numele original, iar destination este numele de înlocuire.

# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>

redenumirea unui singur fișier cu comanda mv

în timp ce sintaxa comenzii mv este încă proaspătă în mintea ta, să încercăm redenumirea unui singur fișier.

pentru a demonstra cum să redenumiți un singur fișier și director:

1. Lansați terminalul, apoi executați seria de comenzi de mai jos pentru a crea un director și două fișiere text.

# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt 

2. Apoi, executați comanda ls pentru a lista fișierele din Directorul de lucru. Mai jos, puteți vedea acel fișier1.txt și file2.txt există în directorul ~ / test.

listarea fișierelor în directorul de lucru
listarea fișierelor în directorul de lucru

3. Rulați oricare dintre comenzile mv de mai jos pentru a redenumi file1.txtca file10.txt.

# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt

redenumirea unui director este aceeași cu redenumirea unui fișier, astfel: mv ~/test ~/demo. Simbolul ~ denotă directorul principal.

4. În cele din urmă, rulați din nou comanda ls pentru a lista fișierele din Directorul de lucru.

mai jos, puteți vedea că fișierul1.txt este acum redenumit ca file10.txt.

confirmăm fișierul 1.txt este redenumit ca file10.Txt
confirmă fișierul1.txt este redenumit ca file10.txt

redenumirea mai multor fișiere cu o buclă For

dacă sunteți prea ocupat cu alte sarcini la îndemână și doriți să redenumiți toate fișierele dintr-o singură dată, va trebui să utilizați o instrucțiune For loop ca cea de mai jos.

copiați codul de mai jos ca atare, lipiți-l în terminal și apăsați Enter. Codul de mai jos scanează fiecare fișier text din Directorul de lucru și redenumește fișierele cu „fișier” urmat de un număr de incrementare.

# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done

lipirea codului în terminalul dvs. funcționează bine, dar, ca bună practică, este mai bine dacă creați un fișier script pentru a rula în schimb.

mai jos, puteți vedea în acțiune modul în care codul redenumește toate fișierele.

redenumirea fișierelor cu o buclă pentru
redenumirea fișierelor cu o buclă pentru

redenumirea fișierelor în Linux cu utilitarul redenumire

dacă redenumiți un singur fișier în rutina zilnică, atunci comanda mv va fi suficientă. Dar poate că doriți să redenumiți mai multe fișiere cu același model simultan? De exemplu, redenumirea fișierelor care încep cu un anumit cuvânt (fișier). În acest caz, instalați utilitarul redenumiți în schimb.

utilitarul redenumire redenumește mai multe fișiere, modifică formatele de nume de fișier și suprascrie fișierele.

pentru a instala utilitarul rename, executați oricare dintre comenzile de mai jos, în funcție de distribuția Linux la care lucrați.

# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename

puteți vedea mai jos sintaxa comenzii rename.

rename <options> <perlexpr> <files>

redenumirea mai multor fișiere

având în vedere sintaxa comenzii rename, acum Puteți redenumi fișierele care au același model. Ce este minunat la comanda rename este că nu trebuie să declarați o funcție de buclă pentru a redenumi mai multe fișiere așa cum ați făcut în secțiunea „redenumirea mai multor fișiere cu o buclă pentru”.

poate doriți să redenumiți fișierele cu anumite cuvinte pe ele. Dacă da, aruncați o privire la expresia regulată Perl ('s/file/myfile/') din comanda eșantion de mai jos. Expresiile regulate Perl definesc un model de șir bazat pe limbajul de programare Perl.

pentru a evita redenumirea greșită a altor fișiere, listați toate fișierele afectate înainte de a le redenumi adăugând opțiunea -n, așa cum se arată mai jos.

rename -n 's/file/myfile/' *.txt
listarea fișierelor afectate înainte de redenumirea
listarea fișierelor afectate înainte de redenumire

acum rulați oricare dintre comenzile rename de mai jos pentru a înlocui cuvântul file cu myfile în numele fiecărui fișier text din Directorul de lucru sau din Directorul ~/test/*.txt.

în expresia Perl ('s/file/myfile/'), s denotă substituție, ceea ce înseamnă că redenumiți fișiere. Observați că opțiunea -v este adăugată pentru a returna fișierele redenumite de comandă.

# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt

mai jos, puteți vedea că fiecare cuvânt „fișier” din fișierele text este redenumit în „myfile.”

redenumirea unui fișier cu comanda redenumire
redenumirea unui fișier cu comanda rename

dacă preferați să redenumiți toate fișierele, eliminați extensia de fișier atunci când specificați calea fișierului, de exemplu, rename -v 's/file/myfile/' ~/test/*

schimbarea extensiilor de fișiere

altele decât numele fișierelor, comanda rename redenumește și extensiile de fișiere. Poate că ați creat fișiere cu extensia de fișier greșit. În acest caz, veți specifica extensia de fișier de modificat într-o expresie Perl atunci când executați comanda rename.

rulați comandarename de mai jos pentru a schimba extensia tuturor fișierelor (*) de la .txt la .html în directorul ~/test. Simbolul$ din expresia Perl se potrivește cu sfârșitul unui șir (.txt) cu fiecare nume de fișier, astfel încât comanda modifică Doar extensiile de fișiere .txt. Și ca și în cazul redenumirii mai multor fișiere, adăugați opțiunea -v pentru a lista fiecare modificare pe care o face comanda.

rename -v 's/.txt$/.html/' *.txt

pentru a elimina în schimb Toate extensiile de fișiere, eliminați șirul de înlocuire din expresia Perl, astfel: rename -v 's/.txt$//' *.txt

după cum vedeți în imaginea de mai jos, den .extensii txt schimbat la .html

modificarea extensiilor de fișiere din .txt la .html
schimbarea extensiilor de fișiere din .txt la .html

schimbarea numelor de fișiere în majuscule și minuscule

în loc de extensii de fișiere incorecte, este posibil să aveți de-a face cu nume de fișiere cu litere mici și invers. Poate că încercați să găsiți un fișier special cu majuscule, neștiind că numele fișierului este cu litere mici.

Linux este sensibil la majuscule, deci să ne asigurăm că aveți dreptul la litera fiecărui nume de fișier. Cazul scrisorii este practic distincția textelor între minuscule și majuscule.

rulați oricare dintre comenzilerename de mai jos pentru a schimba toate numele fișierelor cu litere mici (a-z) din Directorul de lucru (*) în majuscule (A-Z) și invers.

# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *

puteți vedea mai jos ambele rezultate ale modificării unui caz cu litere de nume de fișier.

schimbarea numelui fișierului de la Litere Mici la majuscule și invers
schimbarea numelui fișierului de la Litere Mici la majuscule și invers

înlocuirea și eliminarea spațiilor din numele fișierelor

ca și cazul scrisorii unui nume de fișier, este posibil să aveți probleme la găsirea fișierelor dacă au spații în numele fișierelor. Să remediem acest lucru fie înlocuind spațiile cu un caracter, fie eliminând spațiile cu totul.

rulați comandarename de mai jos pentru a înlocui spațiile din toate numele fișierelor cu un subliniere (_) în directorul de lucru. Deoarece sublinierea este un metacaracter, scăpați-l cu un backslash (\_) pentru a declara sublinierea literal. Metacaracterele sunt caractere speciale cu semnificații speciale într-un program de calculator.

observați g în expresia Perl spune comanda pentru a înlocui toate meciurile (spații), și nu doar primul.

rename -v 's/ /\_/g' *

mai jos, puteți vedea că comanda a înlocuit toate spațiile cu subliniere.

înlocuirea spațiilor cu subliniere într-un nume de fișier
înlocuirea spațiilor cu subliniere într-un nume de fișier

pentru a elimina toate spațiile dintr-un nume de fișier în loc să le completați cu un caracter, executați comanda de mai jos.

în expresia Perl de mai jos, asteriscul după spațiul gol (/ *) se potrivește cu toate aparițiile spațiilor dintr-un nume de fișier și nu doar cu primul. Caracterul de înlocuire este gol (//), astfel încât comanda rename elimină toate spațiile (g).

rename -v "s/ *//g" *

acum Puteți vedea mai jos că toate spațiile sunt eliminate din fiecare nume de fișier.

eliminarea tuturor spațiilor din numele de fișiere
eliminarea tuturor spațiilor din numele de fișiere

scrierea cu majuscule a primei litere a fiecărui cuvânt dintr-un nume de fișier

dacă preferați să păstrați spațiile și să scrieți cu majuscule prima literă a fiecărui cuvânt dintr-un nume de fișier, veți avea nevoie de o expresie Perl mai complexă. Aruncați o privire la comanda de probă de mai jos.

expresia Perl de mai jos se potrivește cu orice caracter unic (\w) dintr-un cuvânt limită (\b) atâta timp cât caracterul nu este o perioadă și nici apostrof (?<!). Comanda renameva traduce apoi acea literă cu majuscule (u$&).

rename -v 's/(?<!)\b\w*/\u$&/g' *

mai jos, puteți vedea că fiecare cuvânt din numele fișierelor începe cu o literă mare, lăsând extensiile de fișiere neatinse.

scrierea cu majuscule a primei litere a fiecărui cuvânt în numele fișierelor
scrierea cu majuscule a primei litere a fiecărui cuvânt în numele fișierelor

concluzie

de-a lungul acestui tutorial, ați învățat multe modalități de a redenumi fișierele Linux prin GUI și terminalul liniei de comandă. Acum aveți o înțelegere solidă a modului de manipulare a numelor pentru fișiere unice și multiple simultan.

de ce nu invata Linux shell scripting, și de a crea un script pentru a automatiza redenumirea fișierelor în Linux?

Lasă un răspuns

Adresa ta de email nu va fi publicată.