Come altri hanno già detto, rename
è bravo in questo, ma leggi la pagina man (man rename
) prima di provarlo. Ci sono almeno due strumenti completamente diversi là fuori chiamati rename
e quale avrai dipenderà dalla tua distribuzione. Chiamarli in modo errato può essere pericoloso.
Ecco la pagina man per la versione basata su perl di Larry Wall fornita con Ubuntu. Gli dai un'espressione perl come rename 's/\.sql$/.php/' *.sql
Ecco la pagina man per la ridenominazione fornita con le distribuzioni precedenti di Red Hat e CentOS. L'utilizzo è una semplice sostituzione di stringhe come rename .sql .php *.sql
Puoi anche usare un one-liner bash per elaborare ogni file uno alla volta:
$ for f in *.sql; do mv -i "$f" "${f%%.*}.php"; done
C'è rename(1)
, che non usa espressioni regolari, ma può risolvere il tuo problema:
rename .sql .php *.sql
C'è anche mmv(1)
, ma non ho familiarità con il suo funzionamento.
Buongiorno,
Puoi anche provare a inserire
for i in $(\ls -d *.sql)
do
mv $i $(echo $i | sed -e 's/\.sql$/\.php/')
done
O per farlo usare regex cambialo leggermente in
for i in $(\ls -d | egrep -e '.*\.sql')
do
mv $i $(echo $i | sed -e 's/\.sql$/\.php/')
done
per un po' di divertimento nella programmazione della shell. (-: