删除多个文件中的备份附录表单文件名(Linux)

删除多个文件中的备份附录表单文件名(Linux),linux,perl,terminal,debian,file-rename,Linux,Perl,Terminal,Debian,File Rename,我最近从windows转到Linux(基于Debian),并从备份驱动器导入了所有文件。问题是,现在所有文件的名称都是原始名称+在一对括号内有备份日期的附录 示例: 索引(协调世界时2017年12月01日15月56日03日).html 而不是index.html 如何从所有文件中删除备份添加的信息? 我正在搜索一个函数,它可以遍历目录中的所有文件并删除括号部分 或者有没有一种方法可以在没有它的情况下重新导入?假设在第一个之后的所有内容(应该替换为.html)都是 for f in *.html;

我最近从windows转到Linux(基于Debian),并从备份驱动器导入了所有文件。问题是,现在所有文件的名称都是原始名称+在一对括号内有备份日期的附录

示例:

索引(协调世界时2017年12月01日15月56日03日).html

而不是index.html

如何从所有文件中删除备份添加的信息? 我正在搜索一个函数,它可以遍历目录中的所有文件并删除括号部分


或者有没有一种方法可以在没有它的情况下重新导入?

假设在第一个
之后的所有内容(
应该替换为
.html
)都是

for f in *.html; do
  mv "$f" "${f%%\(*}.html"
done
可轻松扩展为递归工作:

find . -name '*.html' |
while read f; do
  mv "$f" "${f%%\(*}.html"
done

我认为你最好在或上问这个问题。在这里,我们是程序员,希望你先尝试用编程的方式解决你自己的问题。也就是说,可以用Perl完成,只需几行代码。但是我会害怕在整个文件系统上运行这个。如果它只是你的主目录(或Windows user dir)它可能非常安全。Stack Overflow是一个用于编程和开发问题的网站。这个问题似乎与主题无关,因为它与编程或开发无关。请参阅帮助中心。也许或者是一个更好的提问地点。好的,谢谢,下次我会记住它!