LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 868|回复: 14

关于特殊段落的删除问题!请各位帮个忙,thanks![已解决]

[复制链接]
发表于 2004-2-26 13:26:18 | 显示全部楼层 |阅读模式
文件信息如下:
kjdglfl
startfile****:12342alfjkas;dfjdal;sdf
l;asdfjkal;sdfjkalsdfjksldfjalsasdfas
asldfjkasdfj203478203skjdfs0f7w0fia0sdf
endfile**
startfile$$$$$$$asdlfhas0as780fq0234rsdflasdfj
lasdfjalsdfjalsdkfjas
endfile^^^^^^^^
sdlfjlfjsldfjl


我的目标是搜索并删除从startfile处开始到其紧邻的下一个endfile处截止的中间部分,
请教个位了,不胜感激 :help
发表于 2004-2-26 18:41:22 | 显示全部楼层
$ sed -e '/startfile/,/endfile/d' /your/file
发表于 2004-2-26 20:18:14 | 显示全部楼层
dearvoid,看清楼主要求哟~~ ;)
发表于 2004-2-26 20:47:34 | 显示全部楼层
不很明白. 是不是说我没有修改原文件 ?
发表于 2004-2-26 21:02:19 | 显示全部楼层
删除从startfile处开始到其紧邻的下一个endfile处截止的中间部分,
我也正琢磨着呢
发表于 2004-2-26 21:04:19 | 显示全部楼层
结果要这样:
kjdglfl
startfile
endfile^^^^^^^^
sdlfjlfjsldfjl
发表于 2004-2-26 21:09:10 | 显示全部楼层
kjdglfl
startfile$$$$$$$asdlfhas0as780fq0234rsdflasdfj
lasdfjalsdfjalsdkfjas
endfile^^^^^^^^
sdlfjlfjsldfjl
我认为是这样.具体是咋回事,还是让楼主说清楚点吧 :ask
发表于 2004-2-26 23:52:02 | 显示全部楼层
  1. cat tmp|tr '\n' ' '|sed 's/\(^.*\)\(startfi.*\)\(startfile.*\)/\1\3/g'|tr ' ' '\n'
复制代码
result:
kjdglfl
startfile$$$$$$$asdlfhas0as780fq0234rsdflasdfj
lasdfjalsdfjalsdkfjas
endfile^^^^^^^^
sdlfjlfjsldfj
不会是这种结果吧:
  1. cat tmp|sed -n '/^start/p;/^end/p'
复制代码
startfile****:12342alfjkas;dfjdal;sdf
endfile**
startfile$$$$$$$asdlfhas0as780fq0234rsdflasdfj
endfile^^^^^^^^
 楼主| 发表于 2004-2-28 07:20:24 | 显示全部楼层
就是将start与其紧邻的下一个end之间的内容删除
 楼主| 发表于 2004-2-28 09:30:23 | 显示全部楼层

结果应该这样:

kjdglfl
**
^^^^^^^^
sdlfjlfjsldfjl
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表