Convertir les majúscules en minúscules dels noms de fitxer

Prova amb find (comandament Linux)

En moltes ocasions és preferible tenir els noms dels fitxers i directoris en minúscula. Anar un a un canviant el nom és un treball molt ardu. Especialment quan hi ha centenars o milers de fitxers, la feina es complica més i es fa difícil de passar a mà. Però això no vol dir que sigui impossible o que no hagi mètodes per fer-ho d'una forma totalment ràpida i automatitzada.

Però més enllà de la pura estètica o de les preferències de cada usuari, de vegades es tracta de temes tècnics, ja que algunes apps no poden treballar amb certs noms en majúscula i necessiten ser convertits. Quan et topes amb una d'aquestes apps, potser fa temps que acumulant fitxers amb noms de tota mena, i tornar a enrere es fa complicat. Però no et preocupis, té una senzilla solució com et ensenyo en aquest tutorial ...

Convertir majúscules en minúscules

Ordre per passar de majúscules a minúscules

El primer que has de saber és que la següent comanda convertirà totes les majúscules en minúscules, Inclòs si hi ha subdirectoris dins d'aquest directori. Així que si no vols que totes es transformin en minúscules, fes-ho només en el directori específic o t'ho convertirà tot. Això em sembla important perquè després no tinguis problemes i es converteixin noms que no volies que es passessin a minúscules.

D'altra banda, necessites tenir instal·lat el programa rename. Si no el tens instal·lat fa servir el gestor de paquets de la teva distro per instal·lar fàcilment. No obstant això, en general hauries tenir-lo instal·lat, així que no serà necessari la seva instal·lació en tots els casos. Aquesta eina et servirà per poder modificar diversos noms a la vegada, en comptes d'usar el típic mv per modificar el nom d'un en un ...

Una altra de les coses que cal saber abans de posar-se mans a l'obra és que si a l'convertir de majúscules en minúscules es topa amb un nom igual, llavors no es convertirà. Ja saps que Linux té cas delicat en els seus FS, així que distingeix entre majúscules i minúscules. Això vol dir que si tens un fitxer anomenat Hola2 i HOLA2, el sistema els diferencia. Però, és clar ..., a el passar a minúscules dos es cridarien hola2 i això no és possible. Per tant, llançarà un missatge d'error i no el transforma.

Després d'això ja tens tot el que necessites saber i podem començar a transformar els noms de majúscules a minúscules. el comandament genèric seria el següent, i pots modificar-lo per apuntar a directori que vulguis:

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

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

has substituir pel nom de directori o el path de directori que vulguis passar a minúscules. Per exemple, com l'exemple que et mostro en la imatge que és Prova, però també podria ser qualsevol altre. Per als més novells, dir que amb path em refereixo a la ruta, quan no es troba directament dins el directori on et trobes actualment. Per exemple, si estàs en ~ / però vols actuar sobre / home / usuari / Descàrregues.

Convertir-lo en script

Per facilitar la conversió de majúscules i minúscules, pots crear un script que ho faci per tu i no hauràs d'introduir l'anterior comando cada vegada que necessitis una conversió. Això és molt útil per a aquells que estan constantment passant noms. A més, si ho fiques dins d'alguna de les rutes de la variable d'entorn $ PATH, podràs executar només amb invocar el seu nom, sense haver de tenir-lo en el mateix directori en el qual et trobes treballant o especificar la ruta completa ...

Els passos que has de seguir per crear el script convertidor són:

  • El primer és anar a directori / bin per incloure-hi l'script i així usar-lo com qualsevol altre ordre, simplement invocant el seu nom des del terminal.
<br data-mce-bogus="1">

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

  • Després crea amb nano, O amb el teu editor de text favorit, el fitxer amb el script i digues-li com vulguis. Jo ho vaig a trucar mayutominu:
sudo nano mayutominu.sh

  • Dins nano has enganxar el següent text per al codi d'aquest script de 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>
  • Ara guarda el fitxer usant la combinació de tecles Ctrl + O i sal amb Ctrl + X. Ja tens el teu fitxer mayutominu.sh creat amb l'script, el següent és donar-li permisos d'execució:
sudo chmod +x mayutominu.sh
  • Finalment ja el tens llest per a usar. Com es fa? Doncs seguint amb el mateix exemple de l'apartat anterior, si volguessis canviar de majúscules a minúscules els noms de directori Prova, pots fer el següent:
mayutominu Prueba
  • Ja saps, si necessites especificar la ruta completa, o path, també pots, si el directori no es troba en la posició actual. Per exemple:
mayutominu /home/usuario/Descargas

Espero que t'hagi servit d'ajuda, ja saps que qualsevol dubte o suggeriment, pots deixar els teus comentaris...


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   yo va dir

    En debian m'indica això:
    -bash: syntax error near unexpected token `newline

    find -depth | xargs -n 2 rename -v 's /(.*)\/([^\/]*)/$ 1 \ / \ L $ 1 /' {} \;