rename(Perl语言版本) 详解

2019-03-19 22:51:23 wayne17 阅读数 464更多

分类专栏: Ubuntu之路
 
版权声明:本文为博主原创文章,遵循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			强制覆盖已有文件

[转帖]rename(Perl语言版本) 详解的更多相关文章

  1. java newInstance() 的参数版本与无参数版本详解

    newInstance() 的参数版本与无参数版本详解 博客分类: Core Java   通过反射创建新的类示例,有两种方式: Class.newInstance() Constructor.new ...

  2. 深入理解C语言 - 指针详解

    一.什么是指针 C语言里,变量存放在内存中,而内存其实就是一组有序字节组成的数组,每个字节有唯一的内存地址.CPU 通过内存寻址对存储在内存中的某个指定数据对象的地址进行定位.这里,数据对象是指存储在 ...

  3. [转帖]nginx服务器安装及配置文件详解

    nginx服务器安装及配置文件详解 http://seanlook.com/2015/05/17/nginx-install-and-config/  发表于 2015-05-17 |  更新于: 2 ...

  4. [转帖]Windows注册表内容详解

    Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...

  5. [转帖]Linux:cut命令详解

    Linux:cut命令详解 https://www.cnblogs.com/Spiro-K/p/6361646.html cut -f cut -f -d cut -c1- 这三个命令好像最常见, 记 ...

  6. [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html

    Nginx安装及配置详解   nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...

  7. c++、Java、python对应的编译型语言和解释性语言区别详解

    1.首先明确一点: 高级语言是不能直接在CPU上运行的.CPU只能处理机器语言,就是黑客帝国里面那个10101010101110的数字流. 那么为了让机器语言能够在CPU上运行,那么就必须将其变成机器 ...

  8. [转帖]Vim编辑器使用方法详解

    Vim编辑器使用方法详解 程序员小新人学习 2018-12-16 12:26:23 转载于https://www.cnblogs.com/libaoliang/articles/6961676.htm ...

  9. [转帖]JVM性能调优详解

    JVM性能调优详解 https://www.cnblogs.com/secbro/p/11833651.html 应该是 jdk8 以前的方法 貌似permsize 已经放弃这一块了. 前面我们学习了 ...

随机推荐

  1. (2)在树莓派安装运行在Python3上的OpenCV

    https://www.jianshu.com/p/56929416b4a1 http://www.eeworld.com.cn/afdz/article_2018030511619.html htt ...

  2. LeetCode 886. Possible Bipartition

    原题链接在这里:https://leetcode.com/problems/possible-bipartition/ 题目: Given a set of N people (numbered 1, ...

  3. vim文本编辑器——文件导入、命令查找、导入命令执行结果、自定义快捷键、ab命令、快捷键的保存

    1.文件的导入(r): 导入前: 导入后: 在光标处,将tmp目录下的zhbb文件的内容导入到了当前文件. 2.命令的查找: 3.导入命令的执行结果: 光标所在行为导入的位置. 4.自定义快捷键: ( ...

  4. linux服务器升级python版本(python2与python3共存)

    linux服务器升级python版本 ######################################## 第一步先安装sqlite-devel,因为python2也有这个,python3 ...

  5. 全部文章> Maven

    Maven     原 Maven中<resources>标签详解 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;& ...

  6. centos7 python2.7升级至python3.5.3版本

    1.wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tgz      #下载安装包 2.tar -zxvf Python-3.5.3 ...

  7. Default Activity Not Found解决方法

    2018年04月07日 17:22:44 Luckily_Liu 阅读数 13573更多 分类专栏: android   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上 ...

  8. ES6 - 解构(数组和对象)

    解构对象 /** * 解构:快捷,方便 * * 对象解构 */ { var expense = { type: "es6", amount: "45" }; / ...

  9. Python 多进程爬虫实例

    Python  多进程爬虫实例 import json import re import time from multiprocessing import Pool import requests f ...

  10. android mk 预编译库

    LOCAL_PATH := $(call my-dir) #include $(CLEAR_VARS) # OpenCV #OPENCV_CAMERA_MODULES:=on #OPENCV_INST ...