GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo cambiar el nombre de varios archivos en un solo comando o secuencia de comandos en Unix?

La mayoría de los shells estándar proporcionan una forma de realizar una sustitución de texto simple dentro de las variables del shell. http://tldp.org/LDP/abs/html/parameter-substitution.html explica lo siguiente:

${var/Pattern/Replacement}

First match of Pattern, within var replaced with Replacement.

Así que use este script para recorrer todos los archivos apropiados y cambiar el nombre de cada uno de ellos:

for file in aro_tty-mIF-*_opt
do
    mv -i "${file}" "${file/-mIF-/-mImpFRA-}"
done

He agregado una opción -i para que tenga la oportunidad de confirmar cada operación de cambio de nombre. Como siempre, debe hacer una copia de seguridad de todos sus archivos antes de cambiar el nombre o eliminar una gran cantidad.


Si no tiene rename de Perl :

perl -e '
FILE:for $file (@ARGV){
        ($new_name = $file) =~ s/-mIF-/-mImpFRA-/
        next FILE if -e $new_name;
        rename $file => $new_name
}' *_opt

Si haces tener rename de Perl :

rename 's/-mIF-/-mImpFRA-/' *_opt

Antes de probar comandos complejos como los siguientes, haga una copia de seguridad de sus archivos . Nunca se sabe lo que puede causar un error tipográfico (el mío o el tuyo).

Con mv (como pediste en el comentario --- rename como se sugiere en la otra respuesta, probablemente sea más seguro, especialmente si puede tener espacios o caracteres extraños en sus nombres de archivo) algo del estilo

for f in *_opt; do
    a="$(echo $f | sed s/-mIF-/-mImpFRA-/)"
    mv "$f" "$a"
done

Linux
  1. Cómo dividir un solo archivo en varios archivos según las filas

  2. ¿Cómo cambiar el nombre de varios archivos en un solo comando o secuencia de comandos en Unix?

  3. ¿Cómo cambiar el nombre de varios archivos usando Buscar?

  4. Cómo cambiar el nombre de varios archivos a la vez en Linux

  5. Cómo cambiar el nombre de varios archivos juntos en Linux usando 3 métodos

Cómo cambiar el nombre de los archivos en Linux

Comando Renombrar en Linux (Renombrar Múltiples Archivos)

Cómo cambiar el nombre de un archivo (s) en Linux

Cómo cambiar el nombre de archivos y directorios en Ubuntu 20.04

Cómo ejecutar múltiples comandos de Linux en un solo comando

Comando ls en Linux/UNIX