在多个文件夹中查找并重命名多个文件
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=])}'
寻找重命名多个文件夹中的多个文件的方法
文件夹,即我在以下多个文件夹中有一个名为 "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=])}'