GNU/Linux >> Tutoriales Linux >  >> Linux

¿Hay un comando de Linux como mv pero con expresiones regulares?

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. (-:


Linux
  1. Cómo cambiar el nombre de los archivos en Linux

  2. Tutorial de comando de cambio de nombre de Linux para principiantes (con ejemplos)

  3. Comando JQ en Linux con ejemplos

  4. el comando sed con la opción -i falla en Mac, pero funciona en Linux

  5. Cambiar el nombre de los archivos en Linux con una expresión regular

Comando Curl en Linux con ejemplos

Comando Echo en Linux con ejemplos

Comando ip de Linux con ejemplos

Comando Tr en Linux con ejemplos

15 comandos ps de Linux con ejemplos

Comando de CD de Linux con ejemplos