Chinaunix

标题: linux下的sed和Aix下的sed竟然有这差别? [打印本页]

作者: oliseh    时间: 2017-05-13 16:06
标题: linux下的sed和Aix下的sed竟然有这差别?


---SUSE下:
bipdb1:/home/chh # ksh
bipdb1:/home/chh # set -o vi
bipdb1:/home/chh # cat aaa1
abc
uABCu
ABC
def                                                                                       
bipdb1:/home/chh # sed '1,3{/ABC/d}' aaa1   <----删除第1~3行中薄板ABC的行
abc
def


---但是在Aix下情况就不一样了:
informix@parC:/informix/chh/test>ksh
informix@parC:/informix/chh/test>set -o vi
informix@parC:/informix/chh/test>cat aaa21
abc
uABCu
ABC
def   
informix@parC:/informix/chh/test>sed '1,3{/ABC/d}' aaa21
sed: 0602-404 Function 1,3{/ABC/d} cannot be parsed.            <---同样的命令报错了


一定要写成这样才OK
informix@parC:/informix/chh/test>sed '1,3{   <---此处回车
> /ABC/d                                                     <---此处回车
> }' aaa21
abc
def   


sed命令在Linux和Aix下为何会有这么大的差别?

作者: 799029078    时间: 2017-05-17 12:04
mac os下面也有差别

作者: Shell_HAT    时间: 2017-05-17 12:32
因为Linux和Aix不是同一伙人搞出来的。
就好像共享单车,小黄和小蓝肯定有差别啊。
作者: jason680    时间: 2017-05-17 12:52
回复 1# oliseh

How about this way for Unix Like platform

$ perl -ne '{if(1..3){if(m/ABC/){next}}print}' a
abc
def  






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2