Script per rinominare file da lettere MAIUSCOLE a minuscole.

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
Harp
Staff
Staff
Messaggi: 1424
Iscritto il: sab 17 apr 2004, 0:00
Nome Cognome: Franco Fiorin
Slackware: 13.0
Kernel: 2.6.29
Desktop: KDE 4.2.4
Località: Vittorio Veneto (TV)
Contatta:

Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da Harp »

Ciao, chiedo aiuto per uno script, visto che il mio livello é < 0!
Dovrei rinominare tutti i file di una directory da lettere maiuscole a lettere minuscole.
Per esempio HARP.EXT deve diventare harp.ext e questo per migliaia di file in una stessa directory.

Grazie a tutti anticipatamente.

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da aschenaz »

Terra terra:

Codice: Seleziona tutto

#!/bin/sh
#
if [ $# -lt 1 ]; then
	echo " Uso: maiumin percorso/nome-directory"
	exit 1
fi
DIRIN="$PWD"
DIRTOLOWER=$1
cd $DIRTOLOWER
for MAIU in `ls`
  do
      MINU=`echo $MAIU | tr 'A-Z' 'a-z'`
      mv $MAIU $MINU
  done
cd $DIRIN
Funziona, ma aspetta il parere di qualcuno più esperto. :)


Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da conraid »

aschenaz ha scritto: for MAIU in `ls`
Quando sei già nella directory basta dare

Codice: Seleziona tutto

for MAIU in *

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da aschenaz »

Ecco la versione corretta:

Codice: Seleziona tutto

#!/bin/sh
#
if [ $# -lt 1 ]; then
	echo " Uso: $0 percorso/nome-directory"
	exit 1
fi
DIRIN="$PWD"
DIRTOLOWER="$1"
cd $DIRTOLOWER
for MAIU in *
  do
     MINU=`echo $MAIU | tr 'A-Z' 'a-z'`
     if [ "$MAIU" != "$MINU" ]; then
	     mv $MAIU $MINU
     fi
  done
cd $DIRIN
Grazie conraid! :)

sixjan
Linux 2.x
Linux 2.x
Messaggi: 413
Iscritto il: dom 6 gen 2008, 11:46
Slackware: 14.1
Kernel: 3.10.17-smp
Desktop: Xfce 4.10

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da sixjan »

aschenaz ha scritto:Ecco la versione corretta:

Codice: Seleziona tutto

#!/bin/sh
#
if [ $# -lt 1 ]; then
	echo " Uso: $0 percorso/nome-directory"
	exit 1
fi
DIRIN="$PWD"
DIRTOLOWER="$1"
cd $DIRTOLOWER
for MAIU in *
  do
     MINU=`echo $MAIU | tr 'A-Z' 'a-z'`
     if [ "$MAIU" != "$MINU" ]; then
	     mv $MAIU $MINU
     fi
  done
cd $DIRIN
Grazie conraid! :)
C'è una modifica da fare per evitare problemi con i file che hanno spazi nel nome, tipo "FOO BAR.TXT"

La modifica è:

mv "$MAIU" "$MINU"

Saluti.

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da aschenaz »

sixjan ha scritto:C'è una modifica da fare per evitare problemi con i file che hanno spazi nel nome, tipo "FOO BAR.TXT"

La modifica è:

mv "$MAIU" "$MINU"
Giusto, gli apici: li dimentico sempre! :)

Avatar utente
anycolouryoulike
Packager
Packager
Messaggi: 1158
Iscritto il: ven 10 ago 2007, 0:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da anycolouryoulike »

Attenzione, lo script può dare problemi con nomi contenenti spazi!
Bisogna aggiungere IFS=$'\t\n'.
Leggete qui: viewtopic.php?f=20&t=24946.

Avatar utente
anycolouryoulike
Packager
Packager
Messaggi: 1158
Iscritto il: ven 10 ago 2007, 0:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da anycolouryoulike »

No scusate, ho detto una castroneria inusitata. Per ulteriori informazione sempre viewtopic.php?f=20&t=24946.
Grazie a spina per il chiarimento.

Avatar utente
Harp
Staff
Staff
Messaggi: 1424
Iscritto il: sab 17 apr 2004, 0:00
Nome Cognome: Franco Fiorin
Slackware: 13.0
Kernel: 2.6.29
Desktop: KDE 4.2.4
Località: Vittorio Veneto (TV)
Contatta:

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da Harp »

Troppo "massicci"!!!
Grazie mille ragazzi!
Devo ancora provare lo script, ma già so che funzionerà!!!
Approposito, non ci sono spazi nei vari nomi dei file.
Adesso provo e vi faccio sapere!

Avatar utente
Harp
Staff
Staff
Messaggi: 1424
Iscritto il: sab 17 apr 2004, 0:00
Nome Cognome: Franco Fiorin
Slackware: 13.0
Kernel: 2.6.29
Desktop: KDE 4.2.4
Località: Vittorio Veneto (TV)
Contatta:

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da Harp »

Eccezionale!
Funziona!!!
Ho ricevuto solamente uno strano output relativo ad un solo file, ma i file, adesso, sono perfetti!
./sminuscola ./*
./sminuscola: line 9: cd: ./GA2.ZIP: Not a directory



P.S. Che l'autore non si arrabbi se ho chiamato lo script e di conseguenza il comando SMINUSCOLA!! #-o

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da targzeta »

Harp ha scritto:Eccezionale!
Funziona!!!
Ho ricevuto solamente uno strano output relativo ad un solo file, ma i file, adesso, sono perfetti!
./sminuscola ./*
./sminuscola: line 9: cd: ./GA2.ZIP: Not a directory



P.S. Che l'autore non si arrabbi se ho chiamato lo script e di conseguenza il comando SMINUSCOLA!! #-o
:), hai rinominato in minuscolo tutti i file in tutte le sottodirectoroy di primo livello di quella attuale, e dato che quello era un file, lo script non è potuto entrarci dentro.
Non so se mi sono spiegato, ma hai invocato lo script passandogli come parametro tutti i file e directory della directory corrente. Lo script andava invocato come:

./sminuscola directory_che_contiene_i_file

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Script per rinominare file da lettere MAIUSCOLE a minuscole.

Messaggio da aschenaz »

Harp ha scritto:...P.S. Che l'autore non si arrabbi se ho chiamato lo script e di conseguenza il comando SMINUSCOLA!! #-o
Io l'ho chiamato maiumin. Consolati! :lol:

Come ha detto Spina, devi lanciarlo con
./SMAIUSCOLA percorso/directory

Ciao,
nino

Rispondi