cómo cambiar el nombre de todos los archivos en una carpeta con un nombre de extensión específico (enfoque recursivo)

cómo cambiar el nombre de todos los archivos en una carpeta con un nombre de extensión específico (enfoque recursivo)

queremos cambiar el nombre de todos los archivos en /home/DB_home (recursivo)

por lo que cada archivo bajo DB_home cambiará de nombre con la extensión .txt

ejemplo

antes del cambio

/home/DB_home/hg/ir/qemu-ga
/home/DB_home/td/glusterfs
/home/DB_home/yr/ew/sd/cv/ntpstats
/home/DB_home/yr/ew/sd/cv/proc.csv
/home/DB_home/td/GF.conf
/home/DB_home/td/tool.bin

ejemplo (después de cambiar el nombre)

/home/DB_home/hg/ir/qemu-ga.txt
/home/DB_home/td/glusterfs.txt
/home/DB_home/yr/ew/sd/cv/ntpstats.txt
/home/DB_home/yr/ew/sd/cv/proc.csv.txt
/home/DB_home/td/GF.conf.txt
/home/DB_home/td/tool.bin.txt
.
.
.

¿Cómo hacerlo con find y mv?

Respuesta1

Como eso:

find . -type f -exec mv {} {}.txt \;

Respuesta2

find . type f -exec mv {} {}.txt \;

... porque nada dice que puedas usar {}solo una vez en el comando, al menos siempre que uses el ;y no el +.

información relacionada