博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 批量文件重命名
阅读量:6704 次
发布时间:2019-06-25

本文共 674 字,大约阅读时间需要 2 分钟。

centos 6.6  mv  rename  都不能满足需求

所有文件名格式如下:

[yin0502@126.com][1442146016999][<55F566E1.1EB1B6.21669@m15-145.126.com>][callcenter@corp.elong.com][您已成功预订【华山裕华宾馆】].html

需要将“][”更改为“###”并删除首尾的“[”和“]”

1、首先转义   ls | sed 's/@/\\@/g' | sed 's/\[/\\[/g' | sed 's/</\\</g' | sed 's/>/\\>/g' | sed 's/\]/\\]/g' | sed 's/(/\\(/g' | sed 's/)/\\)/g'

2、处理并重命名 sed 's/\\\[\(.*\)\\\]\\\[\(.*\)\\\]\\\[\(.*\)\\\]\\\[\(.*\)\\\]\\\[\(.*\)\\\]/mv &.html \1###\2###\3###\4###\5.html/e'

两部分结合在一起就可以了

注意:1、在第二步之前一定要把文件名所有的特殊字符转义(第一步就是做这个的)

      2、第二步mv中的“&”代表所匹配的字符串  

      3、sed 用法在这里是   sed ‘s/*/mv & */e’

      4、第二步mv中的 “\1 \2 \3”等代表前面正则中的括号里内容

本文转自 落花非有意  51CTO博客,原文链接:http://blog.51cto.com/1992zhong/1695635,如需转载请自行联系原作者
你可能感兴趣的文章
成长,没你想象的那么迫切
查看>>
ASP.NET Core 中文文档 第一章 入门
查看>>
jQuery入门(2)使用jQuery操作元素的属性与样式
查看>>
贴片电阻分类、阻值、功率、封装、尺寸
查看>>
scala+hadoop+spark环境搭建
查看>>
Mqtt协议IOS端移植2
查看>>
Stitching模块中leaveBiggestComponent初步研究
查看>>
使用PrintWriter out=response.getWriter();输出script脚本时乱码解决
查看>>
X.509证书及CeritificationPath及PKCS
查看>>
项目笔记:导出Excel功能设置导出数据样式
查看>>
Python yield 使用
查看>>
【Eclipse】eclipse中设置tomcat启动时候的JVM参数
查看>>
10.查看npm安装信息和版本号
查看>>
国际化环境下系统架构演化
查看>>
Linux系统如何将某一程序设置为开机自启动
查看>>
C#跟着阿笨玩一起玩异步Task实战(一)
查看>>
Sqoop-1.4.6安装部署及详细使用介绍
查看>>
oracle 存储过程 示例
查看>>
正态分布与中心极限定理
查看>>
cf1027F. Session in BSU(并查集 匈牙利)
查看>>