0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux rename命令重命名多个文件与目录

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-09 17:41 次阅读

使用mv命令重命名多个文件和目录可能是一个乏味的过程,因为它涉及使用管道,循环等编写复杂的命令。

这就是rename命令派上用场的地方。它通过指定名称与搜索表达式来批量重命名指定的文件。

rename命令的两个版本,具有不同的语法和功能。我们将使用rename命令的Perl版本。

如果你的系统未安装rename,命令将显示rename: command not found,rename命令未找到。您可以使用发行版的软件包管理器轻松安装rename。

如果你的计算机运行的是基于Debian的Linux发行版,例如Ubuntu,Linux mint。请运行命令sudo apt update && sudo apt install rename安装rename。

如果你的计算机运行的是基于RedHat的Linux发行版,例如CentOS,Fedora。请运行命令sudo dnf install prename安装prename。

sudo apt update
sudo apt install rename
sudo yum install prename

rename命令选项

rename命令的语法形式是rename [OPTIONS] perlexpr filesperlexpr是perl正则表达式。files是文件。

rename命令其实是Perl脚本。它将根据指定的正则表达式重命名指定的。您可以在此处阅读Perl正则表达式的更多信息

例如命令rename 's/.css/.scss/' *.css会将所有.css文件的扩展名更改为.scss

rename 's/.css/.scss/' *.css

让我们更详细地说明命令,rename命令可以映射成,s/你的搜索模式/指定你的替换值/要替换的模式。

.css是perl的正则表达式。它是替换运算符s/中的第一个参数rename命令将在指定的文件名中搜索此模式,如果找到,它将用第二个参数替换。

.scss表示替换参数。替换运算符s/中的第二个参数。

*.css表示所有扩展名为.css的文件。通配符*是用于表示零个,一个或多个字符的符号。

在运行rename命令并重命名文件或者目录之前,最好使用-n选项执行空运行,reanme将会向您打印将重命名的文件。

rename -n 's/.css/.scss/' *.css
rename(file-0.css, file-0.scss)
rename(file-1.css, file-1.scss)
rename(file-2.css, file-2.scss)
rename(file-3.css, file-3.scss)
rename(file-4.css, file-4.scss)

默认情况下,rename命令不会覆盖现有文件。使用-f选项指示rename覆盖已存在的文件。

如果需要rename打印已成功重命名的文件名称,请使用-v选项。

rename -f 's/.css/.scss/' *.css
rename -v 's/.css/.scss/' *.css
file-0.css renamed as file-0.scss
file-1.css renamed as file-1.scss
file-2.css renamed as file-2.scss
file-3.css renamed as file-3.scss
file-4.css renamed as file-4.scss

rename示例

以下是一些如何使用重命名命令的常见示例。

用下划线替换文件名中的空格

rename 'y/ /_/' *

将文件名转换为小写

rename 'y/A-Z/a-z/' *

将文件名转换为大写

rename 'y/a-z/A-Z/' *

从文件名中删除.bak

rename 's/\\.bak$//' *.bak

将.jpeg和.JPG文件名重命名为.jpg

rename 's/\\.jpe?g$/.jpg/i' *

结论

rename命令允许您使用Perl正则表达式一次重命名多个文件和目录。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206723
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24399
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21848
收藏 人收藏

    评论

    相关推荐

    Linux中CMake的使用3-不同目录多个文件

    上篇(Linux中CMake的使用2-同目录多个文件)介绍了在同一目录下有多个
    的头像 发表于 09-21 08:49 3097次阅读
    <b class='flag-5'>Linux</b>中CMake的使用3-不同<b class='flag-5'>目录</b><b class='flag-5'>多个</b>源<b class='flag-5'>文件</b>

    php中rename()函数的妙用

    php中rename()函数的妙用 大家都知道,rename()函数可以对文件目录进行重命名的操作。其实它还可以做很多事情。 熟
    发表于 01-11 09:33

    如何在多个MFS之间移动或复制文件

    rename 等)。 此外,我还使用 MFS (ioctl) 的输入/输出控制命令来创建子目录重命名文件、移动
    发表于 05-29 08:05

    Linux文件的复制、删除和移动命令

    Linux文件的复制、删除和移动命令 Linux文件的复制、删除和移动命令  cp
    发表于 01-18 12:45 1203次阅读

    Linux目录的创建与删除命令

    Linux目录的创建与删除命令 Linux目录的创建与删除命令  mkdir
    发表于 01-18 12:46 1251次阅读

    Linux改变文件目录的访问权限命令

    Linux改变文件目录的访问权限命令 Linux改变文件
    发表于 01-18 12:46 1136次阅读

    LABVIEW中文件重命名的几种方法——陈树学《labview宝典》

    和REN是等同的,属于内部DOS命令。需要注意的是重命名后的文件名不能指定驱动器和路径,因为只能在源文件夹中重命名。四、利用API函数当遇到
    发表于 01-03 16:35 4265次阅读
    LABVIEW中<b class='flag-5'>文件</b><b class='flag-5'>重命名</b>的几种方法——陈树学《labview宝典》

    Linux上使用简单的cp和mv命令来复制和重命名文件

    有个非常有用的例子。假设你想重新命名一个目录中的文件,将所有的大写字母替换为小写字母。一般来说,你在 Unix 或 Linux 系统上找不到大量大写字母的
    的头像 发表于 06-25 14:02 8189次阅读

    如何使用python给所有文件重命名

    本文档的主要内容详细介绍的是如何使用python给所有文件重命名资料免费下载。
    发表于 09-22 17:09 2次下载
    如何使用python给所有<b class='flag-5'>文件</b>夹<b class='flag-5'>重命名</b>

    如何使用mv和rename命令重命名文件

    重命名文件目录是您经常需要在Linux系统上执行的最基本任务之一。重命名单个文件很简单,但一次
    的头像 发表于 01-17 17:43 7024次阅读

    讨论Linux mv命令的一些实际示例

    mv 命令的最基本用途是重命名文件。那么让我们看看如何重命名当前目录中的文件
    的头像 发表于 02-14 16:28 428次阅读

    恒讯科技分析:如何在Linux上使用rm命令删除文件目录

    本指南展示了如何在Linux中使用rm命令行删除文件目录和其他内容?
    的头像 发表于 06-09 17:02 853次阅读

    恒讯科技分析:如何使用cp命令Linux中复制目录

    复制目录Linux中的一项基本任务,它允许我们复制目录、创建备份或在不同位置之间传输数据。在Linux中复制文件
    的头像 发表于 06-26 17:14 464次阅读

    linux系统基本操作命令

    Linux系统基本操作命令有很多,以下是一些常用的命令: ls :列出目录内容。 cd :改变当前目录。 mkdir :创建
    的头像 发表于 11-08 11:17 1148次阅读

    linux删除文件命令rm

    Linux系统中,可以使用rm命令来删除文件目录。该命令的功能是删除一个目录中的一个或
    的头像 发表于 11-13 16:42 422次阅读