分页: 1 / 1

一个入门的shell sed问题

发表于 : 2011-09-25 14:10
fei_lo
echo "ssss/*dssfa*/dffdsa" | sed -e 's/\(\[^/*\]*\)/*\(\[a-z\]*\)*/\(\[^*/\]*\)/\1\3/g'
我用的是ubuntu系统
目标是删除/*...*/之间包括/*和*/
我运行時出现 -s没有选项权的错误.不知到错在哪里..
求高手解燃眉之急...

Re: 一个入门的shell sed问题

发表于 : 2011-09-25 14:14
fei_lo
我写的太繁琐,,给个简单的也 行 ..
:em20 :em11

Re: 一个入门的shell sed问题

发表于 : 2011-09-25 14:16
naturalaw
:em20 :em20 没这么复杂的正则吧.

代码: 全选

 echo "ssss/*dssfa*/dffdsa" | sed  's/\/.*\*\///' 

Re: 一个入门的shell sed问题

发表于 : 2011-09-27 0:45
sk1418
naturalaw 写了::em20 :em20 没这么复杂的正则吧.

代码: 全选

 echo "ssss/*dssfa*/dffdsa" | sed  's/\/.*\*\///' 
不知道你是手误还是为了偷懒, 你匹配的是/到*/的所有东西,lz的例子是对了可是你看下

代码: 全选

kent$  echo "s/sss//*d/ss/fa*/fffff" | sed  's/\/*.*\*\///'
fffff
加上那个*就ok了。

代码: 全选

kent$  echo "s/sss//*d/ss/fa*/fffff" | sed  's/\/\*.*\*\///'
s/sss/fffff

Re: 一个入门的shell sed问题

发表于 : 2011-09-27 9:00
naturalaw
:em20 手误了.

代码: 全选

/*dssfa*/
\/\*.*\*\/

Re: 一个入门的shell sed问题

发表于 : 2011-09-27 9:32
eexpress
1楼太猛了。