掌握 Ubuntu 终端 mv 与 rename 命令的高效重命名使用方法

devtools/2025/1/15 1:22:54/

在日常的计算任务中,文件重命名是一个经常性的需求。对于熟悉图形用户界面(GUI)的人来说,通过右键点击并选择“重命名”选项,这个过程简单直接。然而,当涉及到大量文件或需要自动化流程时,命令行提供了更强大、灵活的解决方案。

在 Ubuntu 中优雅地重命名文件

重命名单个文件:简洁而直接

Ubuntu 的终端提供了一个名为 mv 的命令,它最初设计用于移动文件,但也可以用来重命名文件。其基本语法非常直观:

mv OLD_NAME NEW_NAME

这里,OLD_NAME 是现有文件名,而 NEW_NAME 则是您希望赋予它的新名称。例如,如果您想要将一个名为 pls_rename.txt 的文件重命名为 renamed_it.txt,您可以这样做:
 

$ ls *.txt
pls_rename.txt
$ mv -v pls_rename.txt renamed_it.txt
renamed 'pls_rename.txt' -> 'renamed_it.txt'
$ ls *.txt
renamed_it.txt

使用 -v 参数可以让 mv 命令显示详细的输出,告知您哪些文件被重命名了。这在处理多个文件时尤其有用。

批量重命名文件:效率与灵活性兼备

当面对大量文件需要重命名时,逐一手动操作显然不切实际。幸运的是,Ubuntu 提供了一个叫做 rename 的工具,专门用于批量重命名文件。它利用正则表达式来匹配和替换文件名中的模式,极大提高了工作效率。

首先,您需要安装 rename 工具,因为它通常不在默认安装中包含:

sudo apt install rename

安装完成后,您可以使用以下语法进行批量重命名:

rename PERL-REGEX FILES

其中 PERL-REGEX 表示 Perl 风格的正则表达式,FILES 是要处理的文件列表。例如,要将所有 .txt 文件扩展名改为 .jpeg,您可以执行:

$ rename -v 's/.txt/.jpeg/' *.txt
image_1.txt renamed as image_1.jpeg
image_2.txt renamed as image_2.jpeg
...

rename 命令同样支持复杂的字符转换。比如,如果您想把所有小写字母变为大写,可以这样做:

$ rename -v 'y/a-z/A-Z/' *
i_am_not_screaming renamed as I_AM_NOT_SCREAMING
maybe_i_am_screaming renamed as MAYBE_I_AM_SCREAMING
who_knows renamed as WHO_KNOWS
安全性优先:预览更改以防错误

考虑到批量操作可能带来的风险,rename 提供了一个非常有用的选项 --nono,它可以模拟命令的效果而不真正修改文件。这意味着您可以先看到预期的变化,确认无误后再执行实际的重命名操作。这就好比是做一次“试运行”,确保一切按计划进行。

$ rename --nono 's/.jpeg/.txt/' *.jpeg
rename(image_1.jpeg, image_1.txt)
rename(image_2.jpeg, image_2.txt)
...

正如上面的例子所示,虽然看起来文件已经被重命名,但实际上它们并没有改变。直到您移除 --nono 选项并重新运行命令,才会真正生效。

无论是简单的单个文件重命名还是复杂的批量处理,Ubuntu 终端都提供了强大的工具来满足您的需求。mv 和 rename 这两个命令不仅简化了日常任务,还为高级用户提供了足够的灵活性和控制力。掌握这些技能,您就能更加自信地管理和组织您的文件系统。

当然,如果您使用的是 Windows 和 Mac 系统,那么你也可以使用简鹿文件批量重命名,它提供了一个完整的 GUI 界面,让文件或文件夹重命名操作起来更轻松快捷。


http://www.ppmy.cn/devtools/150541.html

相关文章

【汇编】x86汇编编程寄存器资源心中有数

1. CPU状态及控制寄存器 TR,GDTR,LDTRcr0-cr3EFLAGS 等等 2. 业务计算寄存器(我起的名字) 业务寄存器用于访问内存、参数传递、数据传递、计算。 段寄存器6个: cs,ds,es,ss&…

spring boot 支持jsonp请求

spring boot 支持jsonp请求 项目中有用到 jsonp请求,那怎么使用spring boot 实现呢 实现 在不改动原有的框架基础上,对jsonp响应单独处理,即 实现 AbstractHttpMessageConverter: public class JsonpHttpMessageConverter extends Abstra…

抖音集团数据血缘深度应用:架构、指标与优化实践

导读 本文简单介绍了“抖音集团数据资产管理平台”全貌,数据资产管理平台是抖音集团在复杂业务场景中思考的新方向,启发大家对于元数据以及数据资的全新思考。文章重点展开介绍了“抖音集团大数据血缘的演进和应用”部分,让大家以更宏观视角认识血缘,并在如何建设好数据血缘…

6Hive Sql 大全

6Hive Sql 大全 1hive 的 DDL 语法1.1对数据库的操作1.2对数据表的操作对管理表(内部表)的操作:对外部表操作对分区表的操作对分桶表操作修改表和删除表向hive表中加载数据hive表中数据导出 2hive 的 DQL 查询语法2.1单表查询WHERE语句GROUP BY 分组join 连接order by 排序sort…

Zookeeper单机操作

个人博客地址:Zookeeper单机操作 | 一张假钞的真实世界 下载 从Apache下载镜像站点下载当前稳定发布版。 单机操作 安装单机模式的Zookeeper服务器是简单明了的。服务器包含在一个单独的JAR文件中,因此安装包含创建配置。 下载稳定的ZooKeeper发布版…

【数据结构】树的定义

在计算机科学中,树(Tree)是一种重要的基础数据结构,广泛应用于许多领域,如文件系统的目录结构、数据库的索引、编译器的语法树、人工智能的决策树等。理解树的基本概念和术语,对于学习计算机科学及其相关技…

【数据结构-堆】力扣1834. 单线程 CPU

给你一个二维数组 tasks ,用于表示 n​​​​​​ 项从 0 到 n - 1 编号的任务。其中 tasks[i] [enqueueTimei, processingTimei] 意味着第 i​​​​​​​​​​ 项任务将会于 enqueueTimei 时进入任务队列,需要 processingTimei 的时长完成执行。 现…

SVM支持向量机

目录 算法原理 数学基础 向量内积(向量点乘) 范数 对偶问题 拉格朗日乘子法 ​线性可分与线性不可分 线性可分 线性不可分 超平面 超平面的定义 超平面的作用 如何寻找最优的超平面 损失函数求解 软间隔 鲁棒性 核函数 算法优缺点 优点…