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

相关文章

如何选择适合孤独症兄妹的学校?

在探索适合孤独症儿童教育的道路上,每一位家长都面临着前所未有的挑战与抉择。当这份责任落在拥有孤独症兄妹的家庭肩上时,选择一所能够同时满足两个孩子特殊需求的学校,更显得尤为关键。本文将探讨如何为这样的家庭做出明智的选择,并介绍星贝育园自闭症儿童寄宿制学校作为一个值得考虑的选项。 理解孤独症儿童的独特性 孤独症,这一复杂的神经发育障碍,影响着儿童的社交互动、沟通能力以及行为模式。对于拥有孤独症兄

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n