sed正则经典案例(二)

sed正则经典案例(二)   

###修改登记信息格式

已知文本内容如下:

[[email protected] oldboy]# cat 2.txt 
张三--1995/04/12--186-1233-4324--5004132131231231231
李四--1993/05/20--175-4323-2343--4423432423413132133
王五--1989/12/21--150-3123-3123--4324234121231231242

请替换成如下结果:

张三
19950412
18612334324
5004132131231231231
李四
19930520
17543232343
4423432423413132133
王五
19891221
15031233123
4324234121231231242

解答:
sed+替换

sed -nr ‘1,3s#--#\n#g;s#[/-]##gp‘ 2.txt  ===[]或
sed -r ‘s#-{2}#\n#g;s#[/-]##g‘ 2.txt
sed -nr ‘1,3s#-{2}#\n#g;s#[/-]##gp‘ 2.txt  ===[]或
sed -nr ‘1,3s#--#\n#g;s#/|-##gp‘ 2.txt   ===‘|‘或
sed -re ‘s#--#\n#g‘ -e ‘1,3s#/|-##g‘ 2.txt ===‘|’或
sed -r ‘s#-{2}# #g;s#/|-##g‘ 2.txt|xargs -n1  不用换成空,直接换成换行符‘\n’

sed+反向引用

sed -r ‘s#(.*)--(.*)/(.*)/(.*)--(.*)-(.*)-(.*)--(.*)#\1\n\2\3\4\n\5\6\7\n\8#‘ lianxi.txt
awk切割输出+sed替换
awk -F"[-]+" ‘{print $1"\n" $2"\n" $3 $4 $5"\n" $6}‘ 2.txt|sed ‘s#/##g‘
awk -F"[-/]+" ‘{print $1"\n" $2$3$4 "\n" $5$6$7"\n" $8}‘ 2.txt
awk -F "[-/]+" ‘{print $1,$2$3$4,$5$6$7,$8}‘ 2.txt|xargs -n1
awk -F"--" ‘{for(i=1;i<=NF;i++){gsub(/\/|-/,"",$i);print $i}}‘ 2.txt ===gsub替换函数
时间: 2024-08-05 21:59:04

sed正则经典案例(二)的相关文章

sed正则经典案例(四)

###修改日期格式,已知文件内容如下: 原始数据:文件date.txt 21/May/2017:09:29:24 +0800 22/May/2017:09:30:26 +0800 23/May/2017:09:31:56 +0800 24/May/2017:09:34:12 +0800 25/May/2017:09:35:23 +0800 26/May/2017:09:23:34 +0800 27/May/2017:09:22:21 +0800 28/May/2017:09:45:22 +080

sed正则经典例题

**题目:已知目标文件如下** <html> <title>First Web</title> <body> h1Helloh1 h2Helloh2 h3Helloh3 </body> </html> 请使文件中的内容输出为: <h1>Hello</h1> <h2>Hello</h2> <h3>Hello</h3> 创建环境 [[email protected] 

HTML5 CSS3 经典案例:无插件拖拽上传图片 (支持预览与批量) (二)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/31513065 上一篇已经实现了这个项目的整体的HTML和CSS: HTML5 CSS3 经典案例:无插件拖拽上传图片 (支持预览与批量) (一) 这篇博客直接在上篇的基础上完成,最终效果: 效果图1: 效果图2: 好了,请允许我把图片贴了两遍,方便大家看效果了~ 可以看出我们的图片的li的html其实还是挺复杂的,于是我把html文档做了一些修改: <span style=&quo

Apache-rewrite+13个经典案例

Apache 重写规则的常见应用 (rewrite) 一:目的 本文旨在提供如何用Apache重写规则来解决一些常见的URL重写方法的问题,通过常见的 实例给用户一些使用重写规则的基本方法和线索. 二:为什么需要用重写规则? 一个网站,如果是长期需要放在internet上提供服务,必定会有不断地更新和维护,如临 时转移到其它服务器进行维护,重新组织目录结构,变换URL甚至改变到新的域名等等, 而为了让客户不会因此受到任何影响,最好的方法就是使用Apache Rewrite Rule(重写 规则)

网络机器人的识别与攻防的经典案例

本文我们介绍一个网络机器人的识别与攻防的经典案例.使用到的代码见本人的superword项目: https://github.com/ysc/superword/blob/master/src/main/java/org/apdplat/superword/tools/ProxyIp.java 我们的目的是要使用机器人自动获取站点http://ip.qiaodm.com/ 和站点http://proxy.goubanjia.com/ 的免费高速HTTP代理IP和端口号. 不过他们未对机器人进行识

(Mirage系列之八)Mirage经典案例之数据更新和恢复

在(Mirage系列之四)Mirage经典案例之集中桌面管理中我们介绍过,Mirage将客户端的数据根据策略备份到服务器上.备份数据的一个最重要的目的就是用户数据恢复,这次我们来讲如何从客户端恢复用户数据. 从客户端恢复用户数据,有以下几种情况: 1.      把文件恢复到以前的某个版本 2.      从存档中恢复文件和文件夹 3.      恢复删除的文件和文件夹 这里,存档指客户端在服务器上的备份.服务器会根据策略按预定的间隔备份客户端数据,从而产生多个存档. 以上三种方式本质上都是一样

(Mirage系列之七)Mirage经典案例之管理和发布应用层

在(Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析中我们介绍过,Mirage从逻辑上把终端桌面分层了三层:系统层(包括驱动和基础层),应用层,以及用户数据层.在(Mirage系列之五)Mirage经典案例之桌面驱动和基础层管理中我们讲到Mirage可以灵活方便的管理终端的驱动并且发布基础层.本文将介绍Mirage如何管理终端的应用层. 一个公司往往有很多部门,各部门所需要的工作软件也不尽相同.Mirage通过分层这个核心技术,将应用层剥离出来,使得管

[CSDN] OpenCL用于计算机领域的13个经典案例

http://www.csdn.net/article/2013-10-29/2817319-the-application-areas-opencl-can-be-used 摘要:当使用加速器和OpenCL时,哪种类型的算法更加快速?来自弗吉尼亚理工大学的Wu Feng教授和他的团队例举了一份算法列表,分享了OpenCL常被用于计算机领域的13个经典案例. 哪种算法可以最好的映射GPU及矢量处理器呢?换句话说,当使用加速器和OpenCL时,哪种类型的算法更加快速? 来自弗吉尼亚理工大学的Wu

(Mirage系列之九)Mirage经典案例之灾难恢复

在(Mirage系列之八)Mirage经典案例之数据更新和恢复中我们介绍过,被Mirage管理的终端可以从终端恢复数据.下载我们来介绍如何使用Mirage进行灾难恢复.所谓灾难恢复,分两种情况,一种是客户端操作系统里的程序由于用户的修改无法运行,因为一种是客户端系统本身崩溃至无法运行.Mirage针对这两种情况有不同的处理方式: ·        客户端操作系统里的程序由于用户的修改无法运行: o   强制推送基础层和应用层,适用于客户端被分配了基础层或应用层. o   恢复终端快照,适用于客户