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

File 在多个文件夹中查找并重命名多个文件,file,find,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”,我如何才能做到这一

正在查找重命名多文件夹中多个文件的方法

文件夹,即我在多个文件夹下有一个名为“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' -- {} \;
任何人都可以帮我做这件事。 比你,
David

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

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