一个入门的shell sed问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
fei_lo
帖子: 2
注册时间: 2010-10-06 14:40

一个入门的shell sed问题

#1

帖子 fei_lo » 2011-09-25 14:10

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

Re: 一个入门的shell sed问题

#2

帖子 fei_lo » 2011-09-25 14:14

我写的太繁琐,,给个简单的也 行 ..
:em20 :em11
头像
naturalaw
帖子: 1360
注册时间: 2011-09-06 22:04

Re: 一个入门的shell sed问题

#3

帖子 naturalaw » 2011-09-25 14:16

:em20 :em20 没这么复杂的正则吧.

代码: 全选

 echo "ssss/*dssfa*/dffdsa" | sed  's/\/.*\*\///' 
  • The eternal law
sk1418
帖子: 229
注册时间: 2007-07-01 17:36
系统: (En):System
来自: (En):address
联系:

Re: 一个入门的shell sed问题

#4

帖子 sk1418 » 2011-09-27 0:45

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
---
regards,

Kent
头像
naturalaw
帖子: 1360
注册时间: 2011-09-06 22:04

Re: 一个入门的shell sed问题

#5

帖子 naturalaw » 2011-09-27 9:00

:em20 手误了.

代码: 全选

/*dssfa*/
\/\*.*\*\/
  • The eternal law
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 一个入门的shell sed问题

#6

帖子 eexpress » 2011-09-27 9:32

1楼太猛了。
● 鸣学
回复