GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:elimine las extensiones de archivo para varios archivos

Puede pasar explícitamente una cadena vacía como argumento.

rename .old '' *.old

Y con subcarpetas, find . -type d -exec rename .old '' {}/*.old \; . {} es el sustituto de la entrada encontrada con find y \; termina la lista de argumentos para el comando dado después de -exec .


rename es ligeramente peligroso, ya que según su página de manual:

renombrar cambiará el nombre de los archivos especificados reemplazando el primero aparición de...

Felizmente hará lo incorrecto con nombres de archivo como c.txt.parser.y .

Aquí hay una solución usando find y bash :

find -type f -name '*.txt' | while read f; do mv "$f" "${f%.txt}"; done

Tenga en cuenta que esto fallará si un nombre de archivo contiene una nueva línea (raro, pero no imposible).

Si tiene GNU find, esta es una solución más sólida:

find -type f -name '*.txt' -print0 | while read -d $'\0' f; do mv "$f" "${f%.txt}"; done

Yo uso esto:

find ./ -name "*.old" -exec sh -c 'mv $0 `basename "$0" .old`.new' '{}' \;

La versión Perl de cambiar el nombre puede eliminar una extensión de la siguiente manera:

rename 's/\.txt$//' *.txt

Esto podría combinarse con buscar para hacer también subcarpetas.


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

  2. Linux:¿obtener archivos para la fecha actual en Linux?

  3. Popsicle - Flasher de archivos USB múltiple para Linux

  4. Utilice Buscar y localizar para buscar archivos en Linux

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

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

8 métodos para cambiar el nombre de varios archivos a la vez en Linux

Cómo encontrar archivos basados ​​en la marca de tiempo en Linux

Cómo encontrar archivos modificados en las últimas 24 horas en Linux

Cómo encontrar archivos duplicados en Linux y eliminarlos

Extensión de cambio de nombre de varios archivos de Linux