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
io uso un programmino apposta

mmv

molto peeeko

http://www.freeonline.org/articolo_linux_dtml/a-140/

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 :D