Linux-重命名命令rename
2017-12-12 19:09
260 查看
说到重命名,相信大多数和我一样的Linux初学者想到的就是
去除文件扩展名
例如我们想把文件扩展名为
去除文件名中的空格
文件名转为小写
这里用到了
使用分组
现在有一堆文件,他们的文件名模式是这样的
对分组不了解可以去补补正则表达式了。
mv,简单的重命名当然使用
mv已经足够,但是比较复杂的重命名(比如根据正则重命名)就需要用到更顺手的工具了,那就是
rename
用法
$ rename [options] [perlexpr] [files]
options
-v 显示成功重命名的文件 -n 只显示将被重命名的文件,但是不进行重命名 -f 如果文件已存在,覆盖 -e 表明需要需要被执行的code,如果没有-e,那么第一个参数将被当成code
perlexpr
这是一个Perl表达式,文件名应当在其中被改变,没学过Perl也没关系,这个命令用到的语法很像sed,容易上手。files
需要重命名的文件示例
最容易掌握命令的方法就是动手试试了,下面来看看一些例子去除文件扩展名
例如我们想把文件扩展名为
.bak的文件扩展名去掉,可以这样
$ rename 's/\.bak$//' *.bak
*.bak为通配符(wildcard),会被shell展开为各个文件名
去除文件名中的空格
$ rename 's/ //g' *
g是global的意思,替换所有的空格为空字符(也就是删除啦)
文件名转为小写
$ rename 'y/A-Z/a-z/' *
这里用到了
y意思是翻译,前后两个字符集是对应的,遇到前面一个字符集(A-Z)里面的字符就换成后面一个字符集(a-z)里面的相应字符。
使用分组
现在有一堆文件,他们的文件名模式是这样的
第一部分-haha-第二部分.file,现在要把中间的
-haha-删去并把第一部分的字符串和第二部分的字符串对调,可以这样:
$ rename 's/(.*)-haha-(.*)(.file)/$2$1$3/' *.file
对分组不了解可以去补补正则表达式了。
相关文章推荐
- Linux下批量重命名文件或文件夹(rename命令)
- Linux 重命名命令 rename 和 mv 详解
- Linux rename命令 批量重命名
- Linux rename命令 批量重命名
- 关于LINUX系统命令重命名命令rename
- linux 使用rename命令批量重命名文件
- 举例讲解Linux中的重命名命令rename的使用方法
- Linux下的rename命令
- Linux下批量重命名文件bash命令详解
- Linux中rename命令的用法
- Linux常用命令汇总--rename
- linux csplit命令进行日志文件分割和重命名
- Linux中用rename命令批量替换文件名方法实例
- Linux下重命名文件或文件夹(mv命令与rename命令)
- 【转】Linux中rename命令的用法
- Linux/Mac实现下alias重命名命令永久生效
- linux 基本命令4之重命名/移动
- Linux中rename命令的用法
- rename命令和批量重命名
- linux中rename命令的使用