永发信息网

怎么让sed支持perl正则表达式

答案:2  悬赏:0  手机版
解决时间 2021-03-18 20:45
怎么让sed支持perl正则表达式
最佳答案
sed 是最基本的正则表达式,在这种表达式里,除了 . 和 * 以外,其它所有的特殊字符都必须转义,否则当作字面字符看待。 所以 + 是匹配它本身,\+ 才是作为量词修饰。 这种风格的表达式很多见,比如常用的编辑器 vi 就是这个风格。
全部回答
-e 's/:\+\s\+/:/' -e 's/ /_/g' 把每一行 第一次出现的 "连续 n 个 : 及 后面的m个空格" 替换成 : , 再把这一行中剩余的类似匹配内容替换成 _ , 其中 n >= 1, m>=1 比如 如果某行的内容是 sss:: ppp: mmm 则替换后变成 sss:ppp_mmm 然后 -e '/^$/d' 删除空行 然后 -e 's/[(%)]//g' 把每行出现的 ( 或者 % 或者 ) 字符全部删除, 比如 abc()% 被替换成 abc 然后 -e '/^1/d' 将 以字符 1 开头的行删除 最后 -e 's/[(*)]//' 把每行第一次出现的 ( 或者 * 或者 ) 字符删除。 注意,上面的每一个 -e 命令处理的对象都是前一条 -e 命令处理完后的结果。 所以假定有一个文件内容为 abc #unchanged line sss:: ppp: (m%mm)zzz :::: end # change to sss:ppp_mmmzzz _end 1me #this line will be deleted 2123(* #change to 2123 end of file #unchanged 经过上面的命令后,变成 abc #unchanged line sss:ppp_m%mmzzz _end # change to sss:ppp_mmmzzz _end 2123 #change to 2123 end of file #unchanged
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
55BBS论坛怎么进不去呢?
末代皇帝李玉扮演者
社旗县地税局兴隆中心税务所地址有知道的么?
前挡玻璃水垢怎么去除
mysql把一个数据库中的数据复制到另一个数据
泗阳雅典花园属于哪个居委会?
关于计算机二级考c语言还是c++比较好?
我的社保卡激活了为什么存钱收不到信息
金瓯东路/S296(路口)地址有知道的么?有点事
迅雷7 、 下载东西不自动弹出来了、怎么解决
购买现房,签订合同一年以后才交房物业费怎么
用一个成语形容崇敬古人或古人的智慧
生孩子在女方生需要什么手续?
大通县医药公司怎么去啊,有知道地址的么
橡木化石烟斗可以抽干燥的烟草吗?比如切片或
推荐资讯
今天中午买的蛏子把它泡在淡水里晚上回来一看
秋成一队在什么地方啊,我要过去处理事情
为什么我的魅族4pro 怎么没有声音了,这是什
图中,有一片黄色物质,中间有一个肉色一样的
一个女孩对我说我无法帮你预言委屈求全有没有
贝蒂拉杆箱忘记密码怎么办?
我的世界五边形材质包,(一定要有附属其他mo
狼蛛暗裔剑魔三色背光 专业游戏键盘 最下面的
怎么缓存视频
赤道板和细胞板的区别,详解
23.55的3表示在什么位上。2在什么位上
万事达厨卫是不是真有介绍的那么好?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?