首页 游戏 软件 资讯 排行榜 专题
首页
系统平台
Linux批量重命名文件教程:rename与mv命令详解

Linux批量重命名文件教程:rename与mv命令详解

热心网友
62
转载
2026-05-20

Linux批量重命名:五种高效方法,总有一款适合你

Linux系统如何批量重命名文件?rename和mv命令用法【教程】

在Linux系统日常文件管理中,批量重命名文件是一项高频且关键的操作。手动逐一使用mv命令不仅效率低下,还极易出错。幸运的是,Linux提供了多种成熟高效的解决方案。本文将深入解析五种主流的批量重命名方法,从基础到进阶,全面覆盖不同应用场景,助你大幅提升工作效率。

一、使用mv命令配合循环结构

这是最基础、兼容性最佳的方法,无需依赖任何外部工具,仅通过Shell脚本的for循环和参数扩展功能即可实现。它特别适用于规则简单的重命名任务,例如统一添加前缀、修改后缀或替换固定字符。

操作步骤如下:首先,打开终端并进入目标目录。

若需为目录下所有.txt文件添加“backup_”前缀,可执行以下命令:

for file in *.txt; do mv "$file" "backup_$file"; done

此命令中,for file in *.txt会遍历所有.txt文件,并逐一执行mv操作。

再如,若需将所有.jpg文件的扩展名更改为.png,可使用:

for file in *.jpg; do mv "$file" "${file%.jpg}.png"; done

此处${file%.jpg}为参数扩展,其作用是移除变量$file末尾的.jpg部分。

安全提示: 在执行任何批量操作前,强烈建议使用echo命令进行模拟预览,确保结果符合预期。例如:

for file in *.txt; do echo "mv $file backup_$file"; done

该命令仅打印拟执行的mv命令,而不会实际移动文件。确认无误后,移除echo即可正式执行。

二、使用C语言版本rename命令

若认为编写循环脚本较为繁琐,rename命令或许是更便捷的选择。需注意,Linux系统中存在两个主流的rename命令版本,其用法差异显著。首先介绍常见于CentOS 7等系统的C语言版本。

该版本语法直观:rename 原字符串 新字符串 文件列表。它仅执行简单的字面替换,不支持复杂的正则表达式。

首先,确认您使用的版本:

rename --version

若输出信息包含“util-linux”字样,则表明您使用的是C语言版本。

假设您需要将当前目录下所有以“log”开头的文件中的“log”替换为“history”,可执行:

rename log history log*

又如,若需将一批.jpeg文件的扩展名统一改为.jpg,命令如下:

rename .jpeg .jpg *.jpeg

该版本的特点在于:操作简单直接,但功能相对有限,无法处理复杂的模式匹配。

三、使用Perl版本rename命令

功能更为强大的是Perl版本的rename命令,它在Ubuntu、Debian及其衍生发行版中通常为默认安装。其核心优势在于支持完整的Perl正则表达式,这意味着您可以实现几乎任意复杂的重命名逻辑。

同样,请先确认版本:

rename --version

若显示“Perl Programmers Reference Guide”等相关信息,则表明您可使用此强大工具。

以下是几个典型示例:

需要删除所有.bak备份文件的扩展名?

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

其中s/\.bak$//是一个正则替换表达式,意为将末尾的.bak替换为空字符串。

若需将所有文件名中的“report”一词替换为“review”,可执行:

rename 's/report/review/' *

甚至可以进行大小写转换,例如将所有大写的.JPG扩展名改为小写.jpg

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

由此可见,其灵活性远超C语言版本。

四、使用mmv命令进行通配符映射重命名

若您的文件命名本身具有规律性(如包含序列号),那么mmv命令将是理想选择。它通过“通配符”和“位置占位符”实现从源文件名到目标文件名的结构化映射。此工具通常需要单独安装。

在Debian或Ubuntu系统上安装非常简单:

sudo apt install mmv

假设您有一批文件名为file001.txtfile002.txt…,希望将开头的“file”替换为“doc”并保留数字部分,可执行:

mmv 'file#1.txt' 'doc#1.txt'

此处的#1代表通配符*所匹配的第一部分内容。

再看一个稍复杂的例子:若文件命名模式为image-01-small.jpg,希望将其转换为img_01.jpg(即移除“image-”和“-small”,仅保留中间数字并用下划线连接),命令如下:

mmv 'image-#1-#2.jpg' 'img_#1.jpg'

这里#1匹配了“01”,#2匹配了“small”,但在新文件名中我们仅使用了#1

请注意,mmv默认处于安全模式,若重命名操作可能导致文件覆盖,它会报错并中止执行。若您确认需要覆盖,可添加-g参数。

五、使用rename的预览与安全模式

最后,无论您选择C语言版还是Perl版的rename命令,养成“先预览,后执行”的良好习惯至关重要,它能有效避免误操作带来的风险。

最常用的预览参数是-n(或--nono),它仅显示将要执行的操作,而不实际执行:

rename -n 's/old/new/' *.txt

执行后,终端将列出所有计划中的重命名操作,供您最终核对。

若希望在正式执行时查看每一步的详细信息,可使用-v(详细)参数:

rename -v 's/section/chapter/' *.md

这样,每成功修改一个文件,系统都会打印一行确认信息。

对于Perl版rename,还有一个强大的-e选项,允许您直接嵌入Perl代码块。例如,若需将image1.jpgimage2.jpg…等文件的编号统一补零为三位数(如image001.jpg),可执行:

rename -v 's/(\d+)/sprintf("%03d", $1)/e' image?.jpg

此命令会查找文件名中的数字,并使用sprintf函数将其格式化为三位数(不足位时前面补零)。

至此,五种高效的Linux批量重命名方法已介绍完毕。从朴素的Shell循环到支持正则的Perl rename,再到结构化的mmv,每种工具都有其独特的适用场景。下次面对批量重命名任务时,您可以根据具体需求,灵活选择最顺手的“利器”,轻松提升文件管理效率。

来源:https://www.php.cn/faq/2405833.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Kali Linux 安装 OpenClaw 完整步骤指南
AI资讯
Kali Linux 安装 OpenClaw 完整步骤指南

在 Kali Linux 系统中安装 OpenClaw 时,如果直接使用 sudo 权限或默认安装方式,大概率会遇到因权限和网络环境导致的安装失败问题。本教程将提供一套完整的解决方案,通过三个关键步骤彻底解决这些常见错误,确保你的 OpenClaw 安装过程顺畅无阻。 第一步:解决权限问题(配置 n

热心网友
05.19
Ansible AWX安装配置教程 Linux自动化运维平台搭建指南
系统平台
Ansible AWX安装配置教程 Linux自动化运维平台搭建指南

如果你正准备在生产环境部署Ansible AWX,那么有一个关键信息必须首先明确:官方早已不再推荐,甚至可以说废弃了通过Linux原生包管理器(如apt或yum)的直接安装方式。当前唯一获得官方支持的路径,就是容器化部署。 这意味着,任何试图通过apt install awx或yum install

热心网友
05.19
Linux系统位数查询方法快速判断32位或64位
系统平台
Linux系统位数查询方法快速判断32位或64位

在Linux系统中准确判断其运行于32位还是64位架构,是系统管理和软件部署中的一项基础但至关重要的任务。许多用户在实际操作中容易混淆不同命令的输出含义,导致误判。本文将深入解析几种核心查询方法的原理与应用场景,帮助您精准把握系统位数信息。 使用 getconf LONG_BIT 精准判断当前运行环

热心网友
05.19
Linux SSH长连接配置教程 解决远程频繁掉线问题
系统平台
Linux SSH长连接配置教程 解决远程频繁掉线问题

SSH连接频繁中断是运维工作中常见的困扰,许多用户误以为是网络波动导致,实际上多数情况源于服务端或客户端对空闲连接的主动断开机制。因此,解决问题的核心并非简单延长超时阈值,而是正确配置SSH连接的“保活”策略,确保远程会话稳定不中断。 服务端配置:修改 sshd_config 启用 ClientAl

热心网友
05.19
Linux终止进程kill命令详解与使用教程
系统平台
Linux终止进程kill命令详解与使用教程

在Linux系统中终止进程,很多用户的第一反应是使用kill -9命令,并将其视为万能解决方案。然而,kill命令的本质是一个进程间通信机制,它向目标进程发送特定的信号。进程本身有权决定如何响应这些信号:它可以优雅地处理、选择忽略,甚至捕获并执行自定义操作。因此,终止操作能否成功,很大程度上取决于目

热心网友
05.19

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

苹果50周年总部庆典音乐会盛大举行
iphone
苹果50周年总部庆典音乐会盛大举行

为庆祝成立50周年,苹果在全球多地门店举办系列庆祝活动。最盛大的庆典在其总部ApplePark举行,员工齐聚草坪,传奇音乐人保罗·麦卡特尼登台献唱,首席执行官蒂姆·库克也参与其中。这场科技与艺术交融的盛会,既是对过往传奇的致敬,也寓意着新篇章的开启。

热心网友
05.20
苹果公司成立50周年库克内部信回顾从车库到25亿台销量历程
iphone
苹果公司成立50周年库克内部信回顾从车库到25亿台销量历程

苹果公司成立五十周年之际,首席执行官蒂姆·库克发布内部信回顾历程。信中指出,公司从车库中的一台原型机起步,如今全球活跃设备已达25亿台。库克强调,未来需主动创造而非等待,并鼓励员工铭记创新精神,共同把握机遇,开创下一个五十年。

热心网友
05.20
库克揭秘iPod爆红背后 苹果如何打造世界级供应链体系
iphone
库克揭秘iPod爆红背后 苹果如何打造世界级供应链体系

苹果CEO库克在专访中回顾了iPod的诞生历程。该产品以口袋装千首歌的能力革新了音乐消费方式。其爆红要求苹果在三个月内生产约1500万台,这极大考验了供应链。此次极限压力测试为苹果锻造出世界级供应链能力奠定了基础。库克还透露,首台原型机播放的第一首歌是《HeyJude》。

热心网友
05.20
段永平清仓阿里加仓英伟达拼多多 罕见布局Web3投资Circle
web3.0
段永平清仓阿里加仓英伟达拼多多 罕见布局Web3投资Circle

知名投资人段永平家族办公室持仓市值升至约200亿美元。本季度清仓阿里,减持苹果、台积电;重仓AI与电动车赛道,大幅增持英伟达并新建仓特斯拉,拼多多获增持。其首次跨足Web3领域,建仓稳定币发行商Circle,显示对合规区块链基础设施的关注。

热心网友
05.20
Mac放大镜功能开启指南 轻松看清屏幕细节
系统平台
Mac放大镜功能开启指南 轻松看清屏幕细节

Mac内置的“缩放”辅助功能可放大屏幕细节。通过系统设置开启该功能后,可选择画中画或全屏模式。用户可使用修饰键配合触控板手势、快捷键组合、双击Control+Option或鼠标智能缩放等多种方式灵活操作,满足不同场景下的查看需求。

热心网友
05.20