在多个文件夹中查找并重命名多个文件

find and rename multiple files on multiple folder

寻找重命名多个文件夹中的多个文件的方法

文件夹,即我在以下多个文件夹中有一个名为 "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%/*}"/jobsform.html' -- {} \;

任何人都可以帮助我如何着手去做这件事。 比你, 大卫

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

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