如何重命名具有特定扩展名的文件夹下的所有文件(递归方法)

如何重命名具有特定扩展名的文件夹下的所有文件(递归方法)

我们要重命名 /home/DB_home 下的所有文件(递归)

因此 DB_home 下的每个文件都将重命名为 .txt 扩展名

例子

变更前

/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

示例(重命名后)

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

如何使用 find 和 mv 来实现?

答案1

像那样:

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

答案2

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

...因为没有任何内容说您只能{}在命令中使用一次,至少只要您使用;而不是+

相关内容