查找并重命名多个文件夹上的多个文件

时间:2015-04-02 04:45:02

标签: file find

找到一种方法来重命名多个文件夹上的多个文件

文件夹,即我在以下多个文件夹中有一个名为“jobsforms.html.bak”的文件:

/home/sites/juk/jobsforms.html.bak
/home/sites/juan/jobsforms.html.bak
/home/sites/pedro/jobsforms.html.bak
/home/sites/luois/jobsforms.html.bak

我想重命名找到的所有文件:“jobsforms.html”我该怎么做。 我试图做到这一点。

find /home/sites -name "jobsform.html.bak" -exec bash -c 'mv "$1" "${1%/*}"/jobsform.html' -- {} \;

任何人都可以帮助我如何去做。 比你, 大卫

1 个答案:

答案 0 :(得分:0)

您可以将find的输出传递给awk,使用sub函数从文件名中删除子字符串:

find /home/sites -name "jobsforms.html.bak" | awk '{ori=$0; sub(/\.bak$/,"",$0); system("mv \""ori"\" "$0)}'