Pagina 1 di 1
script per rinominare
Inviato: sab 18 feb 2006, 9:58
da pennega
wew ragazzi devo fare uno script in modo da rinominare i file contenuti in una directory che contengono al loro interno la stringa [1] o [2]...
in pratica faccio un esempio
il file pennega[1]-2.6.4 deve essere rinominato in
pennega-2.6.4
avete idea di che funzioni usare ?
grazie
Inviato: sab 18 feb 2006, 11:12
da IceSlack
Inviato: sab 18 feb 2006, 11:31
da Paoletta
usalo nella dir in cui hai i files in questione...
Codice: Seleziona tutto
#!/bin/bash
ls -1 > /tmp/fileScript.txt
while read valore
do
nuovoVal=`echo "$valore" | sed 's/\[[1-2]\]//g'`
ls -l ./"$nuovoVal" >/dev/null 2>&1
if [ \( $? -ne 0 \) -a \( "$nuovoVal" != "$valore" \) ];then
mv "$valore" "$nuovoVal"
fi
done</tmp/fileScript.txt
rm /tmp/fileScript.txt
ciao!
Inviato: sab 18 feb 2006, 14:08
da masalapianta
for i in *;do mv $i `echo $i|sed 's/\[1\]//'`;done
for i in *;do mv $i `echo $i|sed 's/\[2\]//'`;done
Inviato: sab 18 feb 2006, 14:52
da Paoletta
masalapianta ha scritto:for i in *;do mv $i `echo $i|sed 's/\[1\]//'`;done
for i in *;do mv $i `echo $i|sed 's/\[2\]//'`;done
non per fare la pignola, ma questo dà errore nel caso in cui ci siano files che non devono essere rinominati, e non controlla se vengono sovrascritti files già presenti...
Inviato: sab 18 feb 2006, 20:03
da first
non ne so molto di programmazione pero credo che una semplice riga scritta in perl possa funzionare....
ai guru svilupparla io butto solo il sasso
