Como han mencionado otros, rename
es bueno en esto, pero lea la página de manual (man rename
) antes de intentarlo. Hay al menos dos herramientas completamente diferentes llamadas rename
y cuál tienes dependerá de tu distribución. Llamarlos incorrectamente puede ser peligroso.
Aquí está la página del manual para la versión basada en perl de Larry Wall que viene con Ubuntu. Le das una expresión perl como rename 's/\.sql$/.php/' *.sql
Aquí está la página del manual para el cambio de nombre que se envía con las distribuciones antiguas de Red Hat y CentOS. El uso es una simple sustitución de cadenas como rename .sql .php *.sql
También puede usar un bash one-liner para procesar cada archivo uno a la vez:
$ for f in *.sql; do mv -i "$f" "${f%%.*}.php"; done
Hay rename(1)
, que no usa expresiones regulares, pero puede resolver su problema:
rename .sql .php *.sql
También hay mmv(1)
, pero no estoy familiarizado con su funcionamiento.
Buen día,
También puede intentar ingresar
for i in $(\ls -d *.sql)
do
mv $i $(echo $i | sed -e 's/\.sql$/\.php/')
done
O para que use expresiones regulares, cámbielo ligeramente a
for i in $(\ls -d | egrep -e '.*\.sql')
do
mv $i $(echo $i | sed -e 's/\.sql$/\.php/')
done
para un poco de diversión de codificación de Shell. (-: