Guia de l'usuari: utilitzeu canvia el nom de Command On Linux

Heu provat mai d’utilitzar l’ordre Rename Linux ? Voleu prendre el control de la potència de canvi de nom del fitxer del món Linux i proporcionar mv —i a vosaltres mateixos— un descans. El canvi de nom és ràpid, flexible i molt més senzill. Aquí teniu una guia detallada sobre aquesta potència d’un comandament.





Què passa malament amb mv?

No hi ha res que hagi fallat amb mv . No obstant això, l'ordre fa una bona feina. A més, el podeu trobar a totes les distribucions de Linux, en macOS i en altres sistemes operatius similars a Unix. Tot i això, sempre està disponible. Però, sens dubte, no voleu una pala, sinó que necessiteu una excavadora.



L'ordre mv té un propòsit a la vida, i és moure fitxers. És un efecte secundari segur que es pot utilitzar per moure un fitxer més antic dins el fitxer nou, amb un nom nou. L’efecte és canviar el nom del fitxer perquè obtingueu el que voleu. Però mv no és una eina per canviar el nom del fitxer.

Com canviar el nom d’un fitxer únic amb mv

canviar el nom dels fitxers a Linux



Si voleu utilitzar mv per canviar el nom d'un fitxer, escriviu mv, space, el nom del fitxer, l'espai i el nom nou que vulgueu que tingui. A continuació, premeu Retorn.



També podeu utilitzar ls per comprovar que el fitxer es canvia de nom o no

mv rename

Com canviar el nom de diversos fitxers amb mv

Les coses es compliquen després de canviar el nom de diversos fitxers. perl-rename no té cap capacitat per fer front al canvi de nom de diversos fitxers. Heu de recórrer a utilitzar alguns trucs útils de Bash. És bo si coneixeu algun tipus de línia de comandes de grau mitjà, però la dificultat de canviar el nom de fitxers diferents mv destaca només per la facilitat d'ús mv per canviar el nom d’un sol fitxer.



Les coses augmenten a l’instant.



Diguem que aquí teniu un directori amb molts fitxers, de diferents tipus. Alguns fitxers tenen un fitxer .prog extensió. Volem canviar el nom d’aquests fitxers a la línia d’ordres perquè tinguin un .prg extensió.

Vine a fer una ullada als fitxers.

rename

Aquí hi ha un mètode per fer-ho que no pot recórrer a escriure un fitxer de seqüència Bash real.

rename

Ha funcionat o no? Comprovem els fitxers i seguim endavant.

rename

Per tant, funciona bé. Tots ho són .prg fitxers ara, i no n’hi ha cap .prog al directori.

Què va passar?

Què va fer el comandament llarg? Vegem-ho.

prename

La primera part comença un bucle que processarà tots .prog al directori, al seu torn.

Una altra part diu el que farà el processament fer . Utilitza mv per moure cada fitxer al fitxer nou. El nou nom del fitxer serà força similar al nom del fitxer original, tret de la part .prog. També s’utilitzarà l’extensió de .prg.

Aquí hi ha una manera fàcil

Definitivament. Aquí teniu el canviar el nom comandament.

canviar el nom dels fitxers a Linux

No forma part de la distribució estàndard de Linux, per tant, voleu instal·lar-la. A més, té un nom diferent en diverses famílies de Linux, però totes funcionen de manera similar. Simplement substituireu el nom d’ordre correcte segons el gust de Linux que utilitzeu.

A les distribucions derivades de Debian o Ubuntu, simplement instal·leu perl-rename com això:

*.prog

A les distribucions derivades de RedHat o Fedora, simplement instal·leu prename com això. Recordeu que la p inicial, significa Perl.

rename

Per instal·lar-lo a Manjaro Linux utilitzeu l'ordre següent. Tingueu en compte que l'ordre de canvi de nom es coneix com s.

.prog

Utilitzeu canvia el nom de l'ordre -> Vine a provar-ho més

Aquí farem servir rename. Ho estem fent perquè tinguem un conjunt de fitxers .prog.

.prg

Vine, fem servir l'ordre que es mostra a continuació per canviar-los el nom. També ho comprovarem amb ls ordre si ha funcionat o no. Si voleu substituir rename amb el nom d’ordre precís per a Linux si no es pot utilitzar Ubuntu o un Linux derivat de Debian.

ls ls

Funciona bé, ara tots són fitxers .prg excloent .prog fitxers que queden al directori.

Què ha passat aquí?

Discutim-ho en tres parts.

A la primer part, veureu el nom de l'ordre, rename (o ls o ls, per a la resta de distribucions).

La tercera últim part és ^, que explica $ per operar en tots els fitxers .prog.

El segon la part explica el treball que ens agrada fer en cada nom de fitxer. El ^ significa substitut. El primer terme (ls) és el que ls cercarà a cada nom de fitxer i el segon terme (ls) és amb què se substituirà.

millor navegador web per a nvidia shield

Les ordres part central o expressió central són una 'expressió regular' de Perl i és el que proporciona el s/ mana la seva fiabilitat.

Modificació d'altres parts d'un nom de fitxer

Fins ara hem modificat les extensions de noms de fitxer. Canviem altres parts dels noms de fitxer.

Al directori, hi ha molts fitxers de codi font C. Tots els noms de fitxer tenen un prefix argot_. També ho podem comprovar amb y/.

a-z

Aquí substituïm totes les ocurrències de l'argot_ per sl_. El format d’ordres ens és força familiar. Simplement estem modificant el terme de cerca, el de substitució i el tipus de fitxer.

A-Z

Aquí cerquem fitxers .c i cerquem argot_. Sempre que trobeu argot_ en un nom de fitxer, se substitueix per sl_.

També podeu comprovar el resultat de l'ordre després de repetir l'ordre ls des de dalt utilitzant els mateixos paràmetres:

a-z

Eliminació d'una part d'un nom de fitxer

També podem suprimir una part d’un nom de fitxer després de substituir el terme de cerca per res.

mv oldfile.txt newfile.txt

També podem veure des de ls mana que nostre .c tots els fitxers es preparen amb sl_. Deixem-ho del tot.

El canviar el nom L'ordre segueix el mateix format que l'esmentat anteriorment. Anem a buscar fitxers .c. El terme de cerca és sl_, però no hi ha cap terme de substitució. Dues barres invertides ‘//’ sense que hi hagi res entre si significa una cadena buida.

ls *.txt
pot processar cada fitxer .c al seu torn. A més, cerca sl_ al nom del fitxer. Si l’heu trobat, no es pot substituir per res. Com a alternativa, s’elimina el terme de cerca.

Un altre ús del

ls *.prog -l
L'ordre confirma que el prefix sl_ s'ha esborrat de tots els fitxers .c.

El límit es modifica a parts particulars dels noms de fitxer

Vine, fem servir

for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
per veure els fitxers que tinguin la cadena param al nom del fitxer. Després farem servir canviar el nom ordre per substituir la cadena mitjançant el paràmetre de cadena. A més, fem servir ls una vegada més per veure l'efecte canviar el nom l'ordre ha tingut en aquests fitxers.

ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
sudo apt-get install rename

A continuació, veureu quatre fitxers que tenen Atura al seu nom de fitxer. param.c, param_one.c i param_two.c tots tenen Atura al començant del seu nom. third_param.c té Atura al últim del seu nom, just abans de l'extensió.

Podeu cercar canviar el nom ordre per a param arreu del nom del fitxer. A continuació, podeu substituir-lo per paràmetre en tots els casos.

Un altre ús de ls Comanda ens mostra que el que ha passat exactament. Ja sigui Atura era al principi o al final del nom del fitxer. També podeu substituir-lo per un paràmetre.

Podem utilitzar els metacaracters de Perl per purificar el comportament de l’expressió central. Els metacaràcters són els signes que representen seqüències o posicions de personatges. Per exemple,

sudo dnf install prename
significa l'inici d'una cadena, (.) significa qualsevol caràcter (a més d'un caràcter de línia nova),
sudo pacman -Syu perl-rename
significa final d'una cadena.

A més, fem servir l'inici de la cadena metacaracter (

ls *.prog
) per limitar la nostra cerca a l'inici dels noms de fitxer.

rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c

Els fitxers que hem canviat de nom s’enumeren anteriorment. A més, podem veure que el paràmetre de cadena es troba al principi de 3 noms de fitxer i es troba al final d’un dels noms de fitxer.

El nostre canviar el nom L'ordre utilitza l'inici de la línia metacaracter (^) abans del paràmetre del terme de cerca. Explica tenir en compte el terme de cerca per trobar si es troba al començament del nom del fitxer. S'evitarà el paràmetre de la cadena de cerca si es troba en qualsevol altre lloc del nom del fitxer.

Mirant amb

ls sl*.c
, podem veure que el nom del fitxer que té paràmetre al fitxer últim del nom del fitxer no s'ha canviat. Però els tres noms de fitxer que tenen un paràmetre a començant dels seus noms amb una cadena de cerca substituïda pel valor substitut del terme.

El canviar el nom el poder rau en el poder de Perl.

Mirant amb agrupacions

Heus aquí el cas en què probablement teniu fitxers amb les mateixes cadenes al seu nom. No són similars exactament a les mateixes cadenes, de manera que només heu de cercar i la substitució no pot funcionar aquí.

En aquest exemple fem servir

ls *.c rename 's/sl_//' *.c ls *.c
per veure quins fitxers tenim que comencen per str. A més, n’hi ha dos, string.c i strangle.c. També podem canviar el nom de les dues cadenes després d’utilitzar un mètode conegut com a agrupació.

L 'expressió mitjana del canviar el nom L'ordre cercarà cadenes dins dels noms de fitxer que tinguin la seqüència de caràcters stri o bé stra. Aquí aquestes seqüències van seguides de ng. Com a alternativa, el nostre terme de cerca buscarà una cadena i estranyar. El terme de substitució és bang.

ls *param*
rename 's/param/parameter' *.c
ls *param*

Després d'utilitzar

ls *param*.c
una altra vegada confirma que string.c s'ha convertit en bang.c i strangle.c ara és bangle.c.

Utilitzeu canviar el nom de l'ordre amb traduccions

El canviar el nom L'ordre realitza totes les accions en noms de fitxer coneguts com a traduccions. A continuació, es mostra un exemple de traducció que obliga a posar en majúscules un conjunt de noms de fitxer.

A la canviar el nom ordre que es dóna a continuació, aviseu que no fem servir un

rename 's/^parameter/value/' *.c
per començar l’expressió mitjana, fem servir
ls *param*.c
. Explica que l’ordre no pot realitzar una substitució; realitzem una traducció.

El terme

ls value*.c
és una expressió de Perl. Vol dir que tots els caràcters en minúscula de la seqüència de la a la la z. Però, el terme
ls str*.c
representa totes les lletres majúscules de la seqüència de A a Z.

L'expressió central d'aquesta ordre es pot parafrasejar com si alguna de les lletres minúscules de la a a la z es trobés al nom del fitxer. Els reemplaça utilitzant els caràcters corresponents de l'ordre dels majúscules de l'A a la Z.

Si voleu forçar els noms de fitxer de tots els fitxers .prg a majúscules, simplement utilitzeu aquesta ordre:

canvieu el nom de 'y / a-z / A-Z /' * .prg

rename 's/(stri|stra)ng/bang/' *.c

L'ordre

ls ban*.c
mostreu-nos que tots els fitxers .prg ara els fitxers d’extensió estan en majúscules. A més, per ser estrictament precisos, no ho són .prg arxius. Bé, són fitxers .PRG. Assegureu-vos que Linux distingeix entre majúscules i minúscules.

També podem invertir aquesta última ordre després de tornar a la posició del

ls *.PRG
i termes A-Z a l'expressió mitjana.

canvieu el nom de 'y / A-Z / a-z /' * .PRG

ls * .prg

No es pot aprendre Perl en cinc minuts

Conèixer Perl és un temps ben aprofitat. Però per començar a utilitzar les capacitats d’estalvi de temps del canviar el nom ordre, no veieu que tingueu gaire coneixement de Perl per obtenir grans avantatges en el poder.

Conclusió:

Aquí hi ha tot sobre 'Utilitza canviar el nom de Command On Linux'. Quina opinió hi teniu? Si voleu compartir qualsevol altre mètode o consells sobre l'article, feu-nos-ho saber a continuació. Per a més consultes i preguntes, feu-nos-ho saber a la secció de comentaris següent.

Llegiu també: