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开始的行
  • < : 匹配词首
  • > : 匹配词尾
  • \ : 转义特殊字符,如果需要匹配上述特殊字符,用反斜杠转义
posted @ 2020-08-19 16:12  memory_of_stars  阅读(644)  评论(0)    收藏  举报