cum să redenumiți mai multe fișiere pe Linux

redenumirea fișierelor pe sistemele Linux este de obicei gestionată de comanda mv (mutare). Sintaxa este doar mv old.txt new.txt. Destul de simplu, dar dacă avem mai multe fișiere care trebuie redenumite simultan, chiar sute dintre ele? Utilitarul implicit MV nu poate gestiona redenumirea mai multor fișiere decât dacă facem un pic de script. Există și alte utilități pe care le putem instala pentru a rezolva problema, cum ar fi rename și mmv.

în acest ghid, vă vom arăta cum să utilizați comanda mv, precum și instrumentele rename și mmv pentru a redenumi mai multe fișiere din distribuția Linux. Vom trece peste câteva exemple, astfel încât să puteți înțelege sintaxa și cum să utilizați fiecare metodă.

în acest tutorial veți învăța:

  • cum să redenumiți mai multe fișiere simultan cu comanda mv
  • cum să instalați redenumiți pe distribuțiile Linux majore
  • cum să instalați mmv pe distribuțiile Linux majore
  • cum să utilizați mmv, prin exemple de comandă
  • cum să utilizați redenumiți, prin exemple de comandă
redenumirea mai multor fișiere simultan pe Linux

redenumirea mai multor fișiere simultan pe Linux

Cerințe Software și convenții de linie de comandă Linux
Categorie cerințe, convenții sau versiune de Software Folosit
sistem orice distribuție Linux
Software-ul mv, redenumire, mmv
alte acces privilegiat la sistemul Linux ca root sau prin comanda sudo.
convenții # – necesită comenzi linux date pentru a fi executate cu privilegii root fie direct ca utilizator root, fie prin utilizarea comenzii sudo
$ – necesită comenzi linux date pentru a fi executate ca utilizator obișnuit non-privilegiat

redenumiți mai multe fișiere simultan cu comanda mv

redenumirea mai multor fișiere cu comanda mv este mai ușoară dacă știți un pic de script Bash. Aruncați o privire la câteva dintre exemplele de mai jos pentru a vedea câteva utilizări comune cu această metodă.

  1. următoarea comandă va adăuga un .extensie de fișier txt la toate fișierele din Directorul de lucru prezent.
    $ for i in $( ls ); do mv $i $i.txt; done
  2. pentru a elimina o extensie de fișier din toate fișierele, puteți utiliza această comandă.
    $ for i in $( ls *.txt ); do mv $i ${i%.*}; done
  3. de asemenea, putem schimba extensia de fișier a fiecărui fișier. Următoarea comandă va schimba toate fișierele cu .extensie jurnal la .txt.
    $ for i in *.log; do mv -- "$i" "${i%.log}.txt"; done
  4. de asemenea, puteți utiliza comanda find, împreună cu opțiunea -exec sau comanda xargs pentru a redenumi mai multe fișiere simultan. Această comandă se va adăuga .bak la fiecare fișier care începe cu modelul”fișier”.
    $ find . -type f -name 'file*' -print0 | xargs --null -I{} mv {} {}.bak
  5. această comandă utilizează find și opțiunea -exec pentru a adăuga „_backup” la toate fișierele care se termină în .extensie txt.
    $ find . -name "*.txt" -exec mv {} {}_backup \;
  6. de asemenea, putem folosi xargs pentru a face același lucru. Această comandă va accepta intrarea standard de la comanda ls, apoi utilizați xargs pentru a adăuga „_backup” la toate fișierele care se termină în .extensie txt.
    $ ls *.txt | xargs -I{} mv {} {}_backup
  7. pentru a schimba toate fișierele cu .txt în directorul prezent pentru a avea numai litere mici, această comandă va face treaba.
    $ for i in `ls *.txt`; do mv "$i" "`echo $i | tr '' ''`"; done

avantajul acestei metode este că nu avem nevoie de niciun software Linux suplimentar – folosim doar utilitarul nativ MV și, uneori, cuplat cu ls, find sau xargs. Cu toate acestea, așa cum am văzut în aceste exemple, poate fi destul de complex să faci ceva simplu, cum ar fi redenumirea câtorva fișiere. Consultați câteva dintre celelalte metode de mai jos pentru a vedea câteva opțiuni mai convenabile care necesită instalare.

Install rename utility

distribuția Linux poate avea deja rename instalat în mod implicit. Doar în cazul în care nu este deja instalat, puteți utiliza comanda corespunzătoare de mai jos pentru a o instala prin managerul de pachete al sistemului.

pentru a instala redenumiți pe Ubuntu, Debian și Linux Mint:

$ sudo apt install rename

pentru a instala redenumiți pe CentOS, Fedora, AlmaLinux și Red Hat:

$ sudo dnf install prename

pentru a instala redenumiți pe Arch Linux și Manjaro:

$ sudo pacman -S perl-rename

redenumiți Exemple de comandă

comanda rename acceptă expresia perl pentru a face redenumirea reală. Dacă sunteți deja familiarizat cu această sintaxă, redenumiți va fi foarte ușor de utilizat. Dacă nu, nu vă faceți griji, avem câteva exemple mai jos care vă vor ajuta să vă obișnuiți.

aici am compilat unele dintre cele mai comune scenarii de care ar trebui să redenumiți mai multe fișiere simultan. Aceste comenzi presupun că fișierele pe care doriți să le redenumiți se află în directorul dvs. actual de lucru. Puteți specifica întotdeauna calea către alte directoare, dacă doriți.

există câteva opțiuni pe care le puteți utiliza cu rename. Opțiunea -n vă va arăta ce modificări redenumiți va face, fără a face efectiv modificările. Acest lucru vă ajută să evitați orice modificări nedorite. Opțiunea -v (verbose) va imprima numele fișierelor care au fost redenumite cu succes.

  1. această comandă va redenumi fișierele majuscule în minuscule.
    $ rename 'y/A-Z/a-z/' *

    sau, pentru a converti minuscule în majuscule:

    $ rename 'y/a-z/A-Z/' *
  2. pentru a schimba extensia unei grămezi de fișiere, utilizați următoarea sintaxă. Acest exemplu special va converti .log fișiere la .fișiere txt.
    $ rename 's/\.log$/\.txt/' *.log
  3. pentru a majora prima literă a fiecărui nume de fișier, utilizați următoarea comandă.
    $ rename 's/\b(\w)/\U/g' *
  4. pentru a elimina toate spațiile goale din numele fișierelor, executați această comandă.
    $ rename "s/ *//g" *

    sau, pentru a înlocui spațiile cu subliniere:

    $ rename 's/\s+/_/g' *
  5. pentru a elimina o extensie de fișier dintr-o grămadă de fișiere, utilizați următoarea sintaxă. Acest exemplu va elimina .extensie bak.
    $ rename 's/\.bak$//' *.bak

instalați utilitarul mmv

puteți utiliza comanda corespunzătoare de mai jos pentru a instala mmv prin managerul de pachete al sistemului.

pentru a instala mmv pe Ubuntu, Debian și Linux Mint:

$ sudo apt install mmv

pentru a instala mmv pe CentOS, Fedora, AlmaLinux și Red Hat:

$ sudo dnf install mmv

pentru a instala mmv pe Arch Linux și Manjaro:

$ git clone https://aur.archlinux.org/mmv.git$ cd mmv/$ makepkg -si

Exemple de comandă mmv

caracteristica cea mai atractivă a mmv este capacitatea sa de a redenumi cu ușurință o mulțime de fișiere prin acceptarea metacaractere în comanda. Acest lucru vă permite să adăugați sau să eliminați cu ușurință anumite modele din numele fișierelor sau chiar să aranjați textul în nume. Consultați câteva dintre exemplele de mai jos pentru a afla sintaxa instrumentului mmv și vedeți unele dintre cele mai comune comenzi pe care le puteți găsi rulând cu acesta. Rețineți că puteți utiliza opțiunea -n cu mmv pentru a previzualiza modificările.

  1. utilizați acest exemplu pentru a schimba extensia de fișier pe o grămadă de fișiere. Această comandă va schimba toate fișierele cu extensie .htm la .html.
    $ mmv '*.htm' '#1.html'
  2. această comandă va înlocui prima apariție a „foo” cu „bar” în toate numele fișierelor.
    $ mmv '*foo*' '#1bar#2'
  3. următoarea comandă vă oferă o idee despre cum puteți utiliza mmv pentru a rearanja părți ale unui nume de fișier. Acest exemplu va lua fișiere precum access.log-dbserver și rejected.log-webserver și le va redenumi în access-dbserver.log și, respectiv, rejected-webserver.log. Pentru ca acest lucru să funcționeze, trebuie doar să avem un model consistent, cum ar fi linia și perioada în acest caz.
    $ mmv '*.log-*' '#1-#2.log'
  4. schimbați toate numele fișierelor cu litere mici utilizând această comandă.
    $ mmv '*' '#l1'
  5. în schimb, schimbați numele fișierelor cu toate literele mari cu acesta.
    $ mmv '*' '#u1'

gânduri de închidere

în acest ghid, am învățat mai multe metode diferite pentru a redenumi mai multe fișiere simultan pe Linux. De asemenea, am văzut o multitudine de exemple de linii de comandă care pot acoperi o mulțime de scenarii diferite sau pot fi ușor adaptate pentru a se potrivi unor situații similare. Redenumirea în vrac se poate face prin intermediul utilităților bash native precum mv, ls, xargs și find sau putem instala utilitarul mmv sau redenumi pentru a ne ușura viața. Fiecare metodă are punctele forte și punctele slabe, așa că folosiți oricare dintre acestea credeți că vă va fi cel mai convenabil.

Lasă un răspuns

Adresa ta de email nu va fi publicată.