sed使用的并不是完全的正则表达式
经过实验发现,命令sed 's/pattern/replacement/' file中,pattern使用的并不是完全的正则表达式,而如果想使用正则表达式,需要使用sed命令的 -r 选项:
sed -r 's/RegexPattern/replacement/' file

分析:
第三个命令echo abc-|sed 's/-$//'可以实现将末尾的中划线删除。
第二个命令echo abc- |sed 's/^.+-$//' 想实现将以中划线结尾的行,替换为空行,由上图知道,并没有奏效,可见sed的pattern并不是完全的正则表达式,
对比图中最后一行命令,加上-r选项之后,显示可以得到预期结果,pattern被视为正则表达式。
reference:
http://zhidao.baidu.com/link?url=EvIfzZHCbQCB2qPNaoRuuL3dF6LtQwbn96V1cfQ9nSOHzIFrlbR0S2gRkAh9J33ZD5LEBw86OLa8jEW6UKiutChziREn22iHJkGQVQf6NY3
sed使用的并不是完全的正则表达式的更多相关文章
- sed正则表达式
sed的正则匹配如何实现非贪婪? sed的正则用的是BREs/EREs,不支持非贪婪模式.当然有一些方法可以实现非贪婪,比如: $ echo abcOabcdOabc | sed 's/.*O//' ...
- grep、sed、awk、perl、js、vim等对正则表达式的支持的差别
grep.sed.awk.perl等对正则表达式的支持的差别 grep 2.5.1 egrep 2.5.1 sed 3.02 sed 4.07 awk 3.1.1 perl 5.8.0 vim 6.1 ...
- Linux基础正则表达式:grep,sed
先说明语系对正则表达式的影响 LANG=C:0,1,2,3,4...A,B,C,D...Z a b c d ... z LANG=zh_CN:0,1,2,3,4...a A b B c C ...
- 【转】sed & awk常用正则表达式
正则表达式元字符 正则表达式中有两种基本元素: 以字面值或变量表示的值(如.代表任意单个字符). 操作符(如*代表将前面的字符重复任意次). 元字符汇总 特殊字符 用途 . 匹配除换行符以外的任意单个 ...
- sed & awk常用正则表达式
正则表达式元字符 正则表达式中有两种基本元素: 以字面值或变量表示的值(如.代表任意单个字符). 操作符(如*代表将前面的字符重复任意次). 元字符汇总 特殊字符 用途 . 匹配除换行符以外的任意单个 ...
- 正则表达式,sed简单用法
一. 正则表达式 1. 常见的正则表达式字符 [] 匹配字符集 grep "bl[lo]g" oldboy.txt 表示字符‘l’或者‘o’都可匹配 * 重复前面字符任意次 g ...
- Linux正则表达式,grep总结,sed用法
原文: 1.sed 流编辑器,实现对文字的增删改替换查(过滤.取行),能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件 输入到屏幕,可以把只匹配到模式的内容输入到屏幕上.还可以对原文件 ...
- awk sed 总结
Awk总结笔记 介绍 90年代 new awk :nawk Linux 的是gawk 我们简化awk 用法 # awk [options ] ‘scripts’ file1 file2 .... # ...
- 三剑客之SED
Sed功能说明 Sed是Strem Editor(流编辑器)缩写,是操作.过滤和转换文本内容的强大工具.常用功能有增删改查,过滤,取行. [root@old ~]# sed --versio ...
随机推荐
- Bindless Textures
http://shikihuiku.wordpress.com/2014/02/10/openglのtextureについて/
- php上传$_FILES 无法取值
无法取值的主要原因在form. 代码 <form method="post" action="****" name="theForm" ...
- js数组操作【转载】
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵 ...
- VM EXSI安装使用
1.下载VM ESXI:http://lookdfw.blog.163.com/blog/static/5824974220139295524473/ 2.安装VM ESXI: 参考网址:http:/ ...
- [转]12款最佳Linux命令行终端工具
摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...
- 修改emlog表字段名称
在em_twitter表中增加一个字段. ,添加一个字段isImportant alter table em_twitter add isImprotant ) not ; ,把字段isImprota ...
- Memcached 简介、安装和基本使用
本章包括内容: 一.Memcached是什么.能干什么.特点; 二.在Centos7上安装Memcached 三.Memcached启动.简单操作.关闭------------------------ ...
- PHP多态的理解
多态性的一般定义为:同一个操作作用于不同的类的实例,将产生不同的执行结果.也即不同类的对象收到相同的消息时,将得到不同的结果.在实际的应用开发中,采用面向对象中的多态主要在于可以将不同的子类对象都当作 ...
- Java之异常处理机制
来源:深入理解java异常处理机制 2.Java异常 异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 ...
- 利用Jquery的load函数实现页面的动态加载
利用Jquery的load函数实现页面的动态加载 js的强大功能相信大家都知晓,今天通过jquery的库函数load可以更加方便的实现页面的动态刷新,经过几天的研究与探索,终于有所成效!吾心甚蔚! ...