Converte da maiuscolo a minuscolo dei nomi di file

Prova a trovare (comando Linux)

In molte occasioni è preferibile avere il file nomi di file e directory in minuscolo. Rinominare uno per uno è un lavoro molto duro. Soprattutto quando ci sono centinaia o migliaia di file, il lavoro diventa più complicato e difficile da passare a mano. Ma ciò non significa che sia impossibile o che non ci siano metodi per farlo in modo totalmente veloce e automatizzato.

Ma al di là della pura estetica o delle preferenze di ogni utente, a volte si tratta di questioni tecniche, dal momento che alcune le app non possono funzionare con determinati nomi in lettere maiuscole e hanno bisogno di essere convertiti. Quando ti imbatti in una di queste app, forse hai accumulato file con nomi di tutti i tipi da molto tempo e tornare indietro diventa complicato. Ma non preoccuparti, ha una soluzione semplice come ti mostro in questo tutorial ...

Converti maiuscolo in minuscolo

Comando per passare da maiuscolo a minuscolo

La prima cosa che dovresti sapere è quella il seguente comando convertirà tutto maiuscolo in minuscolo, incluso se ci sono sottodirectory all'interno di quella directory. Quindi, se non vuoi che siano tutte minuscole, fallo nella directory specifica o convertirà tutto per te. Questo mi sembra importante in modo che in seguito non si abbiano problemi e i nomi che non si desidera vengano convertiti in minuscolo vengono convertiti.

D'altra parte, hai bisogno avere installato il programma di ridenominazione. Se non lo hai installato, usa il gestore di pacchetti della tua distribuzione per installarlo facilmente. Tuttavia, in generale dovresti averlo installato, quindi non sarà necessario installarlo in tutti i casi. Questo strumento ti servirà per poter modificare più nomi contemporaneamente, invece di usare il tipico mv per modificare il nome uno per uno ...

Un'altra cosa che devi sapere prima di metterti al lavoro è che se durante la conversione da maiuscolo a minuscolo viene visualizzato lo stesso nome, non verrà convertito. Sai già che Linux ha che tiene conto del maiuscolo o minuscolo nel tuo FS, quindi fa distinzione tra maiuscole e minuscole. Ciò significa che se hai un file chiamato Hello2 e HELLO2, il sistema li differenzia. Ma, ovviamente ..., quando vanno in minuscolo sarebbero entrambi chiamati ciao2 e questo non è possibile. Pertanto, genererà un messaggio di errore e non lo trasformerà.

Dopo di che hai tutto ciò che devi sapere e possiamo iniziare a trasformare i nomi da maiuscolo a minuscolo. Il comando generico Sarebbe il seguente e puoi modificarlo in modo che punti alla directory che desideri:

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

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

Voi sostituire dal nome della directory o dal percorso della directory che vuoi rendere minuscolo. Ad esempio, come l'esempio che ti mostro nell'immagine che è Test, ma potrebbe anche essere qualsiasi altro. Per i neofiti, dì che per percorso intendo il percorso, quando non è direttamente all'interno della directory in cui ti trovi attualmente. Ad esempio, se ti trovi in ​​~ / ma desideri agire su / home / user / Downloads.

Convertilo in script

Per facilitare il conversione in maiuscolo e minuscolo, puoi creare uno script lascia che lo faccia per te e non dovrai inserire il comando sopra ogni volta che hai bisogno di una conversione. Questo è molto utile per coloro che passano costantemente nomi. Inoltre, se lo metti in uno dei percorsi della variabile d'ambiente $ PATH, puoi eseguirlo semplicemente invocando il suo nome, senza doverlo avere nella stessa directory in cui stai lavorando o specificare il percorso completo ...

I passaggi da seguire per creare lo script del convertitore sono:

  • Il primo è vai alla directory / bin per includere lo script lì e quindi usarlo come qualsiasi altro comando, semplicemente invocando il suo nome dal terminale.
<br data-mce-bogus="1">

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

  • Poi creare con nano, o con il tuo editor di testo preferito, il file con lo script e chiamalo come preferisci. Lo chiamerò mayutominu:
sudo nano mayutominu.sh

  • All'interno di nano devi incollare il seguente testo per il file codice di questo script da 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>
  • Ora salva il file utilizzando la combinazione di tasti Ctrl + O ed esci con Ctrl + X. Hai già creato il tuo file mayutominu.sh con lo script, il seguente è dare il permesso di esecuzione:
sudo chmod +x mayutominu.sh
  • Finalmente ce l'hai pronto all'uso. Com'è fatto? Bene, continuando con lo stesso esempio nella sezione precedente, se vuoi cambiare i nomi della directory Test da maiuscolo a minuscolo, puoi fare quanto segue:
mayutominu Prueba
  • Sai, se devi specificare il file percorso completo, o percorso, puoi anche, se la directory non è nella posizione corrente. Per esempio:
mayutominu /home/usuario/Descargas

Spero che ti abbia aiutato, sai che qualsiasi domanda o suggerimento, puoi lasciare i tuoi commenti...


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   yo suddetto

    In Debian mi dice questo:
    -bash: errore di sintassi vicino al token imprevisto `newline

    trova -depth | xargs -n 2 rinomina -v 's /(.*)\/((^\/)*)/$ 1 \ / \ L $ 1 /' {} \;