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

1

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

para que todos os arquivos em DB_home sejam 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 (após 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 fazê-lo com o find e o mv?

    
por King David 09.08.2018 / 17:50

2 respostas

2

Assim:

find . -type f -exec mv {} {}.txt \;
    
por 09.08.2018 / 18:09
1
find . type f -exec mv {} {}.txt \;

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

    
por 09.08.2018 / 18:11