[转帖]rename(Perl语言版本) 详解
2024-09-05 13:24:49
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
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 强制覆盖已有文件
最新文章
- linux解压包
- 我理解的webservice是这样的
- 远程连接mysql数据库时报错: 错误代码 2003不能连接到MySQL服务器在*.*.*.*(111)
- device tree 生成device node 到 platform_device
- String解析
- 李洪强漫谈iOS开发[C语言-007]-语言标准简介
- HDU-4593(水题)
- [Android分享] 彻底理解ldpi、mdpi、hdpi、xhdpi、xxhdpi
- Django(博客系统):基于pycharm如何一个django工程下创建多个app
- Android初级教程理论知识(第八章网络编程一)
- cocos2d-x 游戏开发之有限状态机(FSM) (一)
- CAD.NET二次开发 新建图层 删除图层 指定图层颜色以及线形等
- vue1.0与vue2.0对于v-for的使用的区别
- js中return false; jquery中需要这样写:return false(); Jquery 中循环 each的用法 for循环
- Git 转载
- php学习之mysqli的面向对象
- oracle 常用字符串函数
- STM32 F4 SPI Accelerometer
- root用户Linux 环境变量的配置解决(-bash: jps: command not found)有关问题
- SVN服务端安装
热门文章
- I2c理解
- 原手下一名98年的java离职了
- Reactive Extensions (Rx) 入门(4) —— Rx的事件编程
- 洛谷 P2815 IPv6地址压缩 题解
- 用正确的姿势使用 celery
- JSX 简介
- Pymysql+Pandas+Sqlalchemy数据库更新脚本编写
- [Beta阶段]第九次Scrum Meeting
- 权重轮询调度算法(WeightedRound-RobinScheduling)
- Mysql之Incorrect string value: '\xF0\x9F\x98\x89 \xE6... 保存emoji表情