[转帖]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 已经放弃这一块了. 前面我们学习了 ...
随机推荐
- 优化sql技巧
当表很大的时候可以设计冗余字段,避免与大表连表查询造成性能低下 比如日志表和用户表,日志表通常到后期会相当的大可以做一个username的冗余字段,避免查看username的时候去和user表关联 当 ...
- The Architectural Principles Behind Vrbo’s GraphQL Implementation
转自:https://medium.com/expedia-group-tech/graphql-component-architecture-principles-homeaway-ede8a58d ...
- RookeyFrame 一些心得 或者 调试技巧等
因为没有依赖具体的实现层,类库的输出路径又没有设置在web层的bin目录,所以每次都要拷贝实现层的DLL过去,有时候拷贝过去了还是没有反应,估计是缓存什么的吧, 解决:先那几个web层bin目录的 D ...
- 14-网页,网站,微信公众号基础入门(网页版MQTT,小试牛刀)
https://www.cnblogs.com/yangfengwu/p/11192639.html 抱歉哈...最近由于做板子,,教程的进度落下了... 这些天总共做了还几块板子 首先对当前这个教程 ...
- The real universe
- A*G`C002
AGC002 A Range Product 不会,弃疗了/kk https://agc002.contest.atcoder.jp/submissions/7908938 B Box and Bal ...
- 洛谷 P1972 [SDOI2009]HH的项链-二维偏序+树状数组+读入挂(离线处理,思维,直接1~n一边插入一边查询),hahahahahahaha~
P1972 [SDOI2009]HH的项链 题目背景 无 题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含 ...
- npm link 的用法
npm link 的用法 先到对应的自定义包下执行 npm link 会读取对应的 packagejson 中的名称 然后到对应的目录下执行 npm link your/own/npm/name 就会 ...
- pwd函数实现
/* * 文件名:mypwd.c * 描述: 实现简单的pwd命令 */ #include<stdio.h> #include<stdlib.h> #include<di ...
- 在itop4412移植linux4.14和设备树遇到的问题及解决
Linux4.14的设备树下已经对itop4412做了支持,本来应该很容易进行移植,可是在使用讯为给的资料中,对exynos4412-itop-scp-core.dtsi中原本的代码全部进行了注释,并 ...