当前位置:首页 > 编程语言 > 正文内容

Linux运维基础之rename命令详解

a811625532年前 (2024-02-26)编程语言15

Linux 命令 rename  旨在根据指定规则更改文件和目录的名称。它不仅是一个简单的重命名工具,还允许用户使用正则表达式执行批量重命名操作,因此是系统管理员和开发人员的必备命令。

与用于移动或重命名文件的 命令类似,rename 命令具有更大的灵活性和控制性。系统管理员、程序员和数据分析师等 IT 专业人员常用它来有效管理大型文件集。

如何安装 rename 命令

rename 命令的可用性可能因 Linux 发行版而异。下面,我将概述如何为一些常见发行版安装和卸载 rename 命令:

基于 Debian 的系统 (e.g., Ubuntu)

安装:

sudo apt-get update
sudo apt-get install rename

卸载:

sudo apt-get remove rename

基于 RedHat 的系统 (e.g., Fedora, CentOS)

安装:

sudo dnf install prename

卸载:

sudo dnf remove prename

Arch Linux

安装:

sudo pacman -S perl-rename

卸载:

sudo pacman -R perl-rename

openSUSE

安装:

sudo zypper install rename

卸载:

sudo zypper remove rename

如何使用 rename

1. 替换文件名中的字符串

语法: rename 's/old/new/' *

说明: 将当前目录下所有文件名中的字符串 “old” 替换为 “new”。

示例: rename 's/test/demo/' *

Output:

testfile1.txt renamed as demofile1.txt
testfile2.txt renamed as demofile2.txt

当前目录中所有名称中包含 test 的文件现在都替换为 demo

2. 为文件名添加前缀

语法: rename 's/^/prefix_/' *

说明: 在当前目录下所有文件名的开头添加 “prefix_”。

示例: rename 's/^/sample_/' *

Output:

file1.txt renamed as sample_file1.txt
file2.txt renamed as sample_file2.txt

现在,当前目录下的所有文件都以 sample_ 开头。

3. 删除文件扩展名

语法: rename 's/\.ext$//' *

说明: 删除当前目录中所有匹配文件名的 “.ext” 文件扩展名。

示例: rename 's/\.txt$//' *

Output:

document.txt renamed as document
notes.txt renamed as notes

已删除当前目录下文件的所有 .txt 扩展名。

4. 将文件名转换为小写

语法: rename 'y/A-Z/a-z/' *

说明: 将当前目录下文件名中的所有大写字母转换为小写字母。

示例: rename 'y/A-Z/a-z/' *

Output:

FILE1.TXT renamed as file1.txt
FILE2.TXT renamed as file2.txt

将当前目录中所有大写字母的文件名改为小写。

5. 更改文件扩展名

语法: rename 's/\.oldext$/.newext/' *

说明: 将当前目录中所有匹配文件名的扩展名从”.oldext “更改为”.newext”。

示例: rename 's/\.jpg$/.png/' *

Output:

image1.jpg renamed as image1.png
image2.jpg renamed as image2.png

当前目录中所有文件的 .jpg 扩展名都已更改为 .png

6. 从文件名中删除后缀

语法: rename 's/suffix$//' *

说明: 删除当前目录下所有文件名末尾的 “后缀”。

示例: rename 's/_backup$//' *

Output:

file1_backup.txt renamed as file1.txt
file2_backup.txt renamed as file2.txt

当前目录中所有以 _backup 结尾的文件现在都去掉了后缀。

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

语法: rename 's/ /_/' *

说明: 用下划线替换当前目录下文件名中的所有空格。

示例: rename 's/ /_/' *

Output:

my file.txt renamed as my_file.txt
another file.txt renamed as another_file.txt

当前目录中所有带有空格的文件名现在都用下划线代替了空格。

8. 在不更改扩展名的情况下为文件名添加后缀

语法: rename 's/(\.\w+)$/_suffix$1/' *

说明: 在当前目录下所有文件扩展名前添加”_suffix”。

示例: rename 's/(\.\w+)$/_edited$1/' *

Output:

file1.txt renamed as file1_edited.txt
file2.jpg renamed as file2_edited.jpg

当前目录下的所有文件现在都会在文件扩展名前添加 _edited

更多 Linux 命令

目录操作  ·  ·  ·  · 
文件操作  ·  ·  ·  ·  ·  ·  ·  · 
文件系统操作  ·  · 
***  ·  ·  ·  · 
搜索和文本处理  ·  ·  ·  ·  ·  · 
系统信息和管理  ·  ·  ·  ·  ·  · 
用户和会话管理  ·  ·  · 

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/8222.html

分享给朋友:

“Linux运维基础之rename命令详解” 的相关文章

PHP 8.1有哪些变化:新特性、改变及弃用等

PHP 8.1有哪些变化:新特性、改变及弃用等

不久前,PHP 8.0大张旗鼓地发布了。它带来了许多新特性、性能增强和变化——其中最令人兴奋的是新的JIT编译器。 技术世界总是在向前发展,PHP也是如此。 ,包含了几个令人兴奋的特性。它定于今年晚些时候于2021年11月25日发布。 在本文中,我们将详细介绍PHP 8.1将带来哪些新的东...

宝塔面板教程之不同环境安装篇

宝塔面板教程之不同环境安装篇

Linux面板环境安装,主要支持LNMP和LAMP、Tomcat、node.js。不过对于大部分站长来说,主要是LNMP和LAMP两个环境的安装。 LNMP和LAMP两个环境的最大区别是,前者采用Nginx作为Web服务器,后者则采用Apache作为Web服务器。(选择哪个作为您的Web服务器,可...

宝塔面板教程之安全管理篇

宝塔面板教程之安全管理篇

宝塔面板的安全管理可以设置SSH开关、禁用PING、放行端口、屏蔽IP等相关的操作。 SSH的设置 SSH的关闭与启动,点击下图的开关,即可开启或关闭SSH远程连接。 SSH端口的修改,SSH远程连接的默认端口为22,修改端口前,请先查看该端口是否被占用。 PING命令的...

宝塔面板教程之文件管理篇

宝塔面板教程之文件管理篇

宝塔面板其中一个最为便捷的功能之一,无需SFTP或者FTP即可对服务器的文件内容进行上传、下载、编辑及删除等管理操作。 文件管理,用于管理该服务器上的文件内容。 文件的基础操作 文件的基础操作有哪些了,主要有这些方面:复制、粘贴、剪切、删除、重命名、压缩、刷新、新建文件、新建目录。...

15种最佳编程字体以帮助您更愉悦地敲代码

15种最佳编程字体以帮助您更愉悦地敲代码

经过几个小时的努力工作后,您是否感到眼睛疲劳或难以阅读代码?许多程序员在开始头疼之前从没想过要切换字体。 如果您经常发现在尝试扫描一千行代码时眼睛模糊不清,或者在停止编码数小时后头疼,那么可能是时候尝试一种新字体了。即使您没有遇到这些症状,设计良好的字体通常也比默认系统字体具有更好的可读性。...

2022年Web开发人员的平均工资统计报告

2022年Web开发人员的平均工资统计报告

想成为一名网络开发人员或好奇工作的哪些子类型的薪水最高?Web开发是一个竞争激烈、多样化的行业,随着新语言和框架的出现而不断发展。 询问Web开发人员的薪水是一个难以解决的问题(尽管我们尝试)。有太多的因素需要考虑。 无论您是自由开发者还是有兴趣从事更传统的工作、喜欢前端或后端工作,或者想知...