GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cambiar el nombre de los archivos en el directorio?

Cómo cambiar el nombre de archivos en un directorio como el siguiente archivo:PMC21375.pdf.txt , necesito que me cambien el nombre a 21375.txt . es decir, necesito eliminar ambos PMC y pdf de cada nombre de archivo.

Respuesta aceptada:

Con rename de perl :

rename 's/(PMC|.pdf)//g' *pdf.txt 

Demostración:

$ ls *txt
PMC21375.pdf.txt
$ rename -n 's/(PMC|.pdf)//g' *txt 
PMC21375.pdf.txt -> 21375.txt

desde el shell oportuno. Es muy útil, puedes poner algo de código perl como lo hago yo en una sustitución.

Puede eliminar el -n (interruptor de modo de ejecución en seco) cuando sus pruebas sean válidas.

Hay otras herramientas con el mismo nombre que pueden o no ser capaces de hacer esto, así que ten cuidado.

Si ejecuta el siguiente comando (linux )

$ file $(readlink -f $(type -p rename))

y tienes un resultado como

.../rename: Perl script, ASCII text executable

entonces esta parece ser la herramienta adecuada =)

Si no, para que sea el predeterminado (normalmente ya es el caso) en Debian y derivados como Ubuntu :

$ sudo update-alternatives --set rename /path/to/rename

(reemplazar /path/to/rename a la ruta de su perl's rename comando.

Por último, pero no menos importante, esta herramienta fue escrita originalmente por Larry Wall, el padre de Perl.


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

  2. ¿Cómo hacer Grep en archivos PDF?

  3. ¿Archivos Cat con directorio?

  4. Linux cambia el nombre de los archivos a mayúsculas

  5. rsync N archivos más nuevos en un directorio

Cómo contar archivos en el directorio en Linux

Cómo cambiar el nombre de los archivos usando la línea de comandos en Linux

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

Cómo convertir por lotes archivos PDF en Linux

Cómo contar archivos en el directorio en Linux

¿Cómo cambiar el nombre de todos los archivos con caracteres especiales y espacios en un directorio?