como renomear todos os arquivos na pasta com nome de extensão específico (abordagem recursiva)

como renomear todos os arquivos na pasta com nome de extensão específico (abordagem recursiva)

queremos renomear todos os arquivos em /home/DB_home (recursivo)

então todos os arquivos em DB_home serão renomeados com extensão .txt

exemplo

antes da mudança

/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

exemplo (depois de renomear)

/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
.
.
.

como fazer isso com find e mv ?

Responder1

Assim:

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

Responder2

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

... porque nada diz que você pode usar {}apenas uma vez no comando, pelo menos desde que use o ;e não o +.

informação relacionada