• 华为授权培训中心
  • 腾讯云一级认证培训中心
  • 百度营销大学豫陕深授权运营中心
  • Oracle甲骨文OAEP中心
  • Microsoft Azure微软云合作伙伴
  • Unity公司战略合作伙伴
  • 普华基础软件战略合作伙伴
  • 新开普(股票代码300248)旗下丹诚开普投资
  • 中国互联网百强企业锐之旗旗下锐旗资本投资
联系客服
微信公众号
官方微博
0371-86588008

三种快速搞定Linux文件批量重命名的方法

来源:云和教育 时间:2020-06-10 阅读:75

在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等。

处理大量文件的时候该如何进行批量修改呢?在 Linux 环境下,我们可以简单敲一些代码就可以完成这个需求。比如以下三种方法:

方法一:mv配合for循环方式进行修改

mv命令既可以重命名,又可以移动文件或文件夹。但是实际应用中,它只能对单个文件重命名。

例如:

mv A B #将目录A重命名为B

mv /a /b/c #将/a目录移动到/b下,并重命名为c

mv配合for循环方式进行批量修改:

方法二:sed命令

Linux sed命令是利用script来处理文本文件。sed可依照script的指令,来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

使用sed命令批量替换文件内容时,格式如下:

例如:把/test下所有包含abc的文件中的abc替换为def,执行命令

sed的其他用法还有很多,我们就不一一介绍了。

方法三:rename命令

当你想要重命名多个文件的时候,rename 工具或许是最简单、最安全和最强大的命令行工具。

代码如下:

●<pcre> 是Perl兼容正则表达式,它表示的是要重命名的文件和该怎么做。正则表达式的形式是‘s/old-name/new-name/’。

●‘-v’选项会显示文件名改变的细节(比如:XXX重命名成YYY)。

●‘-n’选项告诉rename命令在不实际改变名称的情况下显示文件将会重命名的情况。这个选项在你想要在不改变文件名的情况下模拟改变文件名的情况下很有用。

●‘-f’选项强制覆盖存在的文件。

例如:字母的替换

rename “s/AA/aa/” #把文件名中的AA替换成aa

修改文件的后缀

rename “s/.html/.php/” #把.html 后缀的改成 .php后缀

批量添加文件后缀

rename “s/$/.txt/” #把所有的文件名都以txt结尾

批量删除文件名

rename “s/.txt//” #把所有以.txt结尾的文件名的.txt删掉

以上,就是我们教给大家的三种在Linux下文件批量重命名的方法,你学会了吗?