Pagina 1 di 1

script rinomina piu file

MessaggioInviato: 20 giu 2006, 19:23
di `knives`
Codice: Seleziona tutto
#!/bin/bash
IFS=' ' # per i nomi con gli spazi
cd /home/razal/amsn_received/immagini
for f in *.JPG; do
mv "$f" "$f.jpg"; done
for f in *.JPEG; do
mv "$f" "$f.jpeg"; done
for f in *.BMP; do
mv "$f" "$f.bmp"; done
for f in *.PNG; do
mv "$f" "$f.png"; done

i=0;
for f in *.jpeg; do
mv "$f" $i".jpeg";i=$((i+1)); done


i=0;
for f in *.bmp; do
mv "$f" $i".bmp";i=$((i+1)); done


i=0;
for f in *.png; do
mv "$f" $i".png";i=$((i+1)); done

i=0;
for f in *.jpg; do
mv "f" $i".jpg";i=$((i+1)); done



ho una cartella piena di immagini e collegamenti ad immagini.. io vorrei rinominare tutti i file con quelle estensioni con un nome progressivo.. questo che ho fatto io.. funziona a modo suo.. ma non completamente bene.. chi mi aiuta a sistermarlo?

MessaggioInviato: 20 giu 2006, 19:49
di alebrescia
considerato che di programmazione non ne sò una mazza(ma non ditelo in giro, che sono diplomato in informatica :oops: )
usare un prg già fatto? posso capire che non è la stessa cosa che farselo da sè....

MessaggioInviato: 20 giu 2006, 19:56
di `knives`
si.. è possibile seguire anche quella strada(e lo seguita senza trovare qualcosa che mi soddisfaceva).. ma il bello di linux è che questi programmini te li puoi fare anche tu con pochi passi..

il piu è imparare a conoscere i comandi della shell..

il mio problema è riuscire a rinominare i file con spazi nei nomi.. perchè il comando

mv

non riesce a gestirli credo..

MessaggioInviato: 20 giu 2006, 22:58
di thrantir
uhm, lo spazio diventa, di solito, un '\ '

se ne ho tempo, dopo faccio un po di prove...

MessaggioInviato: 20 giu 2006, 23:07
di `knives`
poi aggiorno lo script

ho risolto il problema..

basta scrivere in testa allo script

IFS='
';
e vengono presi anche i nomi con gli spazi.