[转帖]rename(Perl语言版本) 详解
rename 是 linux 系统中的一个小工具(支持正则),主要用于更改文件名,批量改更见效率!注意结合文件名的通配符使用(?, *),才能更大发挥其效用!
预备知识
正则表达式符号 | 含义 |
---|---|
^ |
匹配输入的开始位置 |
$ |
匹配输入的结尾 |
. |
匹配除换行符外的任意字符 |
+ |
匹配输入字符一次或多次 例如,“c+“可以匹配"cd"或"cads”,但不匹配末尾字符"c” |
a-z |
表示某个范围内的字符,例如,"a-z"匹配"a"与"z"之间的任何一个小写字母字符。 |
查找替换文件名子串
将每个文件名中第一个 ‘a
’ 换成 ‘4
’:
rename 's/a/4/' *
将每个文件名中所有 ‘a
’ 换成 ‘4
’:
rename 's/a/4/g' * # 注意 g 的含义(所有,不止第一个)
去除某种文件后缀名(.cpp
为例):
rename 's/\.cpp$//' * # ’\‘ 为转移字符,'\.' 转义为 .
将文件名中大写字母转小写:
rename 'y/A-Z/a-z/' *
将所有文件统一加上后缀(.txt
为例):
rename 's/$/.txt/' *
将所有文件后三个字符换成 abc
:
rename 's/...$/abc/' * # 几个字符就用几个点
将所有文件统一加上前缀(abc
为例):
rename 's/^/abc/' *
统一删除某前缀(abc
为例):
rename 's/^abc//' *
统一删除某后缀(abc
为例):
rename 's/abc$//' *
将所有文件前三个字符换成 abc
:
rename 's/^.../abc/' * # 几个字符就用几个点
将以字符 ‘c
’ 开头且第四个字符为 ‘w
’ 的文件名中的 ‘aa
’ 换成 ‘bb
’:
rename 's/aa/bb/' c??w*
几个常用参数(必须紧跟在 rename 后)
-v 打印成功改名后的文件名
-n(常用) 打印即将改名的文件名,但不执行操作(预览)
-f 强制覆盖已有文件
[转帖]rename(Perl语言版本) 详解的更多相关文章
- java newInstance() 的参数版本与无参数版本详解
newInstance() 的参数版本与无参数版本详解 博客分类: Core Java 通过反射创建新的类示例,有两种方式: Class.newInstance() Constructor.new ...
- 深入理解C语言 - 指针详解
一.什么是指针 C语言里,变量存放在内存中,而内存其实就是一组有序字节组成的数组,每个字节有唯一的内存地址.CPU 通过内存寻址对存储在内存中的某个指定数据对象的地址进行定位.这里,数据对象是指存储在 ...
- [转帖]nginx服务器安装及配置文件详解
nginx服务器安装及配置文件详解 http://seanlook.com/2015/05/17/nginx-install-and-config/ 发表于 2015-05-17 | 更新于: 2 ...
- [转帖]Windows注册表内容详解
Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...
- [转帖]Linux:cut命令详解
Linux:cut命令详解 https://www.cnblogs.com/Spiro-K/p/6361646.html cut -f cut -f -d cut -c1- 这三个命令好像最常见, 记 ...
- [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html
Nginx安装及配置详解 nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...
- c++、Java、python对应的编译型语言和解释性语言区别详解
1.首先明确一点: 高级语言是不能直接在CPU上运行的.CPU只能处理机器语言,就是黑客帝国里面那个10101010101110的数字流. 那么为了让机器语言能够在CPU上运行,那么就必须将其变成机器 ...
- [转帖]Vim编辑器使用方法详解
Vim编辑器使用方法详解 程序员小新人学习 2018-12-16 12:26:23 转载于https://www.cnblogs.com/libaoliang/articles/6961676.htm ...
- [转帖]JVM性能调优详解
JVM性能调优详解 https://www.cnblogs.com/secbro/p/11833651.html 应该是 jdk8 以前的方法 貌似permsize 已经放弃这一块了. 前面我们学习了 ...
随机推荐
- Colorful events
- Java GUI 的基础学习
Java Swing的学习: 重点理解容器类(Container)和组件类(Component): Java把component类的子类或间接子类创建的对象称为一个组件 Java把Container的 ...
- Golang 位向量
位图 位图(Bitmap)是通过一个 bit 来表示某个元素对应的值或者状态.它并不是什么新的数据结构.它的内容其实就是普通的字符串. 在redis中,我们可以通过 get/set 获取位图的内容,也 ...
- MyBatis传入参数为list、数组、map写法
1.foreach简单介绍: foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有item,index,collection,open,sep ...
- Windows系统中CreateFileMapping实现的共享内存及用法
在32位的Windows系统中,每一个进程都有权访问他自己的4GB(232=4294967296)平面地址空间,没有段,没有选择符,没有near和far指针,没有near和far函数调用,也没有内存模 ...
- 使用analyze命令统计信息
① 搜集和删除索引.表和簇的统计信息② 验证表.索引和簇的结构③ 鉴定表和簇和行迁移和行链接针对analyze的搜集和删除统计信息功能而言Oracle推荐使用DBMS_STATS包来代替analyze ...
- openwrt的shell下如何访问寄存器的内容?
答:通过devmem工具(在openwrt的make menuconfig中可以使能该工具) $ busybox devmem 0x123456
- 安装MySQL Server
之前安装了MySQL Workbench 8.0 CE,现在来安装MySQL Server. 点击 add next next next 完成 MySQL安装包地址: 链接:https://p ...
- 002-Python3-基础语法-赋值、显示类型、数据类型[数值、字符串、列表、元祖、集合、字典]
一.基础语法 参看地址:https://www.runoob.com/python3/python3-tutorial.html 基础数据类型 Python 中的变量不需要声明.每个变量在使用前都必须 ...
- RAC升级后,一个节点无法连接数据库,报ORA-12537: TNS:connection closed
RAC从11.2.0.3升级到11.2.0.4后,一个节点的Public IP.VIP无法连接数据库 SQL> CONN SYS/oracle@192.168.122.101:1521/pplu ...