Convertiți majuscule în minuscule nume de fișiere

Încercați să găsiți (comanda Linux)

De multe ori este de preferat să aveți numele minusculelor de fișiere și directoare. A redenumi unul câte unul este o muncă foarte grea. Mai ales atunci când există sute sau mii de fișiere, jobul devine mai complicat și mai greu de trecut cu mâna. Dar asta nu înseamnă că este imposibil sau că nu există metode pentru ao face într-un mod total rapid și automat.

Dar, dincolo de estetica pură sau preferințele fiecărui utilizator, uneori este vorba de probleme tehnice, din moment ce unele aplicațiile nu pot funcționa cu anumite nume cu majuscule și trebuie să fie convertite. Când întâlniți una dintre aceste aplicații, poate că acumulați fișiere cu nume de tot felul de mult timp și revenirea înapoi devine complicată. Dar nu vă faceți griji, are o soluție simplă așa cum vă arăt în acest tutorial ...

Convertiți majuscule în minuscule

Comandă pentru a comuta de la majuscule la minuscule

Primul lucru pe care ar trebui să-l știți este că următoarea comandă va converti toate majusculele în minuscule, inclusiv dacă există subdirectoare în acel director. Deci, dacă nu doriți ca toate să fie minuscule, faceți-le în directorul specific sau va converti totul pentru dvs. Acest lucru mi se pare important pentru ca mai târziu să nu aveți probleme și numele pe care nu ați dorit să le convertiți în litere mici sunt convertite.

Pe de altă parte, ai nevoie aveți programul de redenumire instalat. Dacă nu îl aveți instalat, folosiți managerul de pachete al distribuției pentru a-l instala cu ușurință. Cu toate acestea, în general, ar trebui să îl aveți instalat, deci nu va fi necesar să îl instalați în toate cazurile. Acest instrument vă va servi pentru a putea modifica mai multe nume în același timp, în loc să utilizați tipicul mv pentru a modifica numele unul câte unul ...

Un alt lucru pe care trebuie să-l știți înainte de a vă apuca de treabă este că, atunci când faceți conversia de la majuscule la minuscule, se întâlnește cu același nume, atunci nu se va converti. Știți deja că Linux are caz sensibil în FS, deci este diferențiat de majuscule și minuscule. Asta înseamnă că, dacă aveți un fișier numit Hello2 și HELLO2, sistemul le diferențiază. Dar, bineînțeles ..., când merg la litere mici, ambii vor fi numiți hello2 și asta nu este posibil. Prin urmare, va lansa un mesaj de eroare și nu-l transformă.

După aceea, aveți tot ce trebuie să știți și putem începe să transformăm numele de la majuscule la minuscule. comandă generică Ar fi următorul și îl puteți modifica pentru a indica directorul dorit:

<br data-mce-bogus="1">

<em>find &lt;nombre_directorio&gt; -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;</em>

Trebuie a inlocui după numele directorului sau calea directorului pe care doriți să îl faceți cu litere mici. De exemplu, cum ar fi exemplul pe care vi-l arăt în imaginea care este Test, dar ar putea fi și orice altul. Pentru începători, spuneți că prin cale mă refer la cale, atunci când nu se află direct în directorul în care vă aflați în prezent. De exemplu, dacă vă aflați în ~ / dar doriți să acționați pe / home / user / Downloads.

Convertiți-l în script

Pentru a facilita conversia cu majuscule și minuscule, puteți crea un script lăsați-o să o facă pentru dvs. și nu va trebui să introduceți comanda de mai sus de fiecare dată când aveți nevoie de o conversie. Acest lucru este foarte util pentru cei care trec în mod constant nume. De asemenea, dacă îl introduceți în oricare dintre căile variabilei de mediu $ PATH, îl puteți executa doar invocând numele acestuia, fără a fi nevoie să îl aveți în același director în care lucrați sau să specificați calea completă ...

L pașii pe care trebuie să îi urmați pentru a crea scriptul convertorului sunet:

  • Primul este accesați directorul / bin să includă scriptul acolo și să-l folosească astfel ca orice altă comandă, invocând pur și simplu numele acestuia de la terminal.
<br data-mce-bogus="1">

cd ~/bin<br data-mce-bogus="1">

  • Apoi creați cu nano, sau cu editorul de text preferat, fișierul cu scriptul și numiți-l după cum doriți. O voi numi mayutominu:
sudo nano mayutominu.sh

  • În interiorul nano trebuie să lipiți următorul text pentru codul acestui script din bash:
</pre><pre>#!/bin/bash
if [ -z $1 ];then
echo "Uso :$(basename $0) parent-directory"
exit 1
fi

all="$(find $1 -depth)"

for name in ${all}; do
new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')"
if [ "${name}" != "${new_name}" ]; then
[ ! -e "${new_name}" ] &amp;&amp; mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!"
fi

done
exit 0</pre><pre>
  • Acum salvați fișierul folosind combinația de taste Ctrl + O și ieșiți cu Ctrl + X. Aveți deja fișierul dvs. mayutominu.sh creat împreună cu scriptul, următorul este da voie de execuție:
sudo chmod +x mayutominu.sh
  • În sfârșit ai înțeles gata de utilizare. Cum o faci? Ei bine, continuând cu același exemplu din secțiunea anterioară, dacă doriți să schimbați numele directorului Test din majuscule în minuscule, puteți face următoarele:
mayutominu Prueba
  • Știți, dacă trebuie să specificați cale completă sau cale, puteți, de asemenea, dacă directorul nu se află în poziția curentă. De exemplu:
mayutominu /home/usuario/Descargas

Sper că te-a ajutat, știi că orice întrebări sau sugestii, îți poți lăsa comentariile...


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   yo el a spus

    În Debian îmi spune acest lucru:
    -bash: eroare de sintaxă lângă simbolul neașteptat `newline

    găsi -adâncime | xargs -n 2 redenumiți -v 's /(.*)\/([^\/♡*)/$ 1 \ / \ L $ 1 /' {} \;