Linux下rename命令的用法——适合大批量修改文件名

2024-03-13 03:38

本文主要是介绍Linux下rename命令的用法——适合大批量修改文件名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址:http://blog.csdn.net/liyibo373/article/details/71747313

linuxrename命令的用法——适合大批量修改文件名

在看鸟哥私房菜的时候,遇到了mv这个可以修改文件名的命令。后面还有一个命令,叫rename。鸟哥让自己man帮助查询。结果自己一看,发现这个命令居然可以批量的修改文件名。

首先,看下man帮助里面的说明:
 For example, given the files
             foo1, ..., foo9, foo10, ..., foo278,  the commands

             rename foo foo0 foo?
             rename foo foo0 foo??

      will turn them into foo001, ..., foo009, foo010, ..., foo278.

      And
             rename .htm .html *.htm

      will fix the extension of your html files.


man
帮助里给我们举了两个例子,什么意思呢,就是利用rename foo foo0 foo? 类似这种命令,可以批量修改foo1foo2foo3这种有规律的文件名。rename的一共有三个参数,第一个参数是要修改的部分,第二个参数是修改成什么的部分,第三个是修改哪些文件。

还是要做实验,说的比较绕。
我们先在目录下建六个文件好了,分别是foo1foo2, foo11foo22foo111foo222

[root@centos-01test]# ls
foo1 foo11 foo111 foo2 foo22 foo222


现在我什么目的呢,就是要把foo后面不够三位的,前面用0代替,比如foo1修改成为foo001foo22修改成为foo022foo111foo222不变。

那我们该怎么做呢,首先,我用这个命令:rename foo foo0 foo?

?是通配符,代表一个字符,也就是我会把名字为foo?这些文件的foo部分修改成为foo0。大家想想会有什么变化。

[root@centos-01test]# rename foo foo0 foo?

[root@centos-01test]# ls

foo01 foo02 foo11 foo111 foo22 foo222


看到了吗,foo?就代表四个字符,并且含有foo的文件。我们用命令把foo修改成为了foo0,所以才会有这样的效果。接下来我们再使用这个命令:rename foo foo0 foo??

[root@centos-01test]# rename foo foo0 foo??

[root@centos-01test]# ls

foo001 foo002 foo011 foo022 foo111 foo222


看到了吧,foo??这种五个字符的都会被修改。看到这里大家就会发现,rename这个命令,一是掌握结构,而是学会用通配符。

下面,我们换几个通配符试验。*代表任意字符

[root@centos-01test]# ls

foo001 foo002 foo011 foo022 foo111 foo222

[root@centos-01test]# rename foo ofo *

[root@centos-01test]# ls

ofo001 ofo002 ofo011 ofo022 ofo111 ofo222

[root@centos-01test]# rename ofo ccc ofo*1

[root@centos-01test]# ls

ccc001 ccc011 ccc111 ofo002 ofo022 ofo222

[root@centos-01test]# rename 1 c ccc*

[root@centos-01test]# ls

ccc00c ccc0c1 cccc11 ofo002 ofo022 ofo222 //大家注意到,是从第一个出现1的时候更换的



比如我们还可以修改结尾文件名相似的。

[root@centos-01bobo]# ls

1.htm 2.htm 3.htm 4.htm 5.mmm

[root@centos-01bobo]# rename .htm .html *.htm

[root@centos-01bobo]# ls

1.html 2.html 3.html 4.html 5.mmm

[root@centos-01bobo]# rename .html @html *.html

[root@centos-01bobo]# ls

1@html 2@html 3@html 4@html 5.mmm


怎么样,是不是这个命令挺强大的。不过,大批量的创建和修改文件还是用脚本比较快速和灵活。


这篇关于Linux下rename命令的用法——适合大批量修改文件名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/803532

相关文章

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

python中update()函数的用法和一些例子

《python中update()函数的用法和一些例子》update()方法是字典对象的方法,用于将一个字典中的键值对更新到另一个字典中,:本文主要介绍python中update()函数的用法和一些... 目录前言用法注意事项示例示例 1: 使用另一个字典来更新示例 2: 使用可迭代对象来更新示例 3: 使用

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除