Linux 使用rename对文件进行批量重命名操作
rename 可以使用 apt-get来安装
可以对文件进行批量重命名操作,对于一个data scientist那可是必不可缺的。
rename可以识别正则表达式,至于这里的正则表达式的规则,是和sed是一样的。
=== sed的常用编辑命令 p:打印匹配行 print d:删除指定行 delete a:在匹配行后面追加 append i:在匹配行前面插入 insert c:整行替换 r:将文件的内容读入 read w:将文本写入文件 write s:字符串替换(匹配正则表达式)substitution ===
命令的格式就是这样子:
rename 's/\.pdb1$/\.pdb/' *.pdb1 # rename 's/字符串1/字符串2/' 目标文件
这行命令的作用就是将所有目标文件名中的字符串1替换为字符串2.(例子中是 将所有pdb1后缀的文件的后缀pdb1改为pdb)
这里 . 必须要用\进行转义,其他类似的特殊字符也一定要进行转义后才能使用。
正则表达式中特殊字符
- . : 表示任何单个字符
- [] : 包含一个字符序列,表示匹配序列中其中一个字符
- - : 出现在[]中,表示一个序列范围.如[a-z]表示26个小写的英文字母
- ^ : 出现在[]中,表示对序列去反。如[^a-z]表示匹配不是a-z的其他字符
- * : 匹配某一个字符的0个或1个或多个实例 (闭包)
- ? : 匹配某一个字符的0个或1个实例 (选择)
- + : 匹配某一个字符的1个或多个实例 (正闭包)
- $ : 匹配行尾。如test$指匹配以test结尾的行
- ^ : 匹配行首。如^test指匹配以test开始的行
- < : 匹配词首
- > : 匹配词尾
- \ : 转义特殊字符,如果需要匹配上述特殊字符,用反斜杠转义