中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [求助]如何用sed读取文本文件指定段位置内容?
作者:
标题: [求助]如何用sed读取文本文件指定段位置内容? 上一主题 | 下一主题
rongcong005
初级用户





积分 38
发帖 15
注册 2008-3-7
状态 离线
『楼 主』:  [求助]如何用sed读取文本文件指定段位置内容?

有一文本如下:
☆test01☆
AAAtest01=123456789
BBBtest01=45678900
CCCtest01=abcdef02
DDDDtest01=FFFFFF03
☆test02☆
AAAtest02=123456
BBBtest02=456789
CCCtest02=abcdef
DDDDtest02=FFFFFF
☆test03☆
AAAtest03=123456ll
BBBtest03=456789999
CCCtest03=abcdef777
DDDDtest03=FFFFFF333
☆test04☆
AAAtest04=123456006
BBBtest04=456789005
CCCtest04=abcdef007
DDDDtest04=FFFFFF0.7

我现在用sed命令行读任意一段如: sed -n "/☆test03☆/{n;p;}" aa.txt>hhh.txt 读取☆test03☆以下内容到hhh.txt,可是只能得到一行,如下:
AAAtest03=123456ll

不知道要怎样才能得到☆test03☆以下四行的内容?即hhh.txt的内容为:
AAAtest03=123456ll
BBBtest03=456789999
CCCtest03=abcdef777
DDDDtest03=FFFFFF333

谢谢!!

2008-6-26 21:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  


sed -n "/☆test03☆/,${n;:,;/☆/!{p;n;T,};q}" aa.txt > hhh.txt


2008-6-27 04:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  笨点的方法就用n读取下一行,然后q退出


sed -n "/☆test03☆/{n;p;n;p;n;p;n;p;q}" aa.txt > hhh.txt


2008-6-27 04:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
rongcong005
初级用户





积分 38
发帖 15
注册 2008-3-7
状态 离线
『第 4 楼』:  

版主!二楼和三楼的方法都用了,好像不行,输出的是空文件。。。
是不是我的sed版本不对?

2008-6-27 21:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
rongcong005
初级用户





积分 38
发帖 15
注册 2008-3-7
状态 离线
『第 5 楼』:  

是不是"  q  "后面应该有个"  ;  "?
sed的语法对我来说实在是太复杂了,呵呵。。。。。。
谢谢lxmxn了!

2008-6-27 22:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  

我测试过了,2个方法都行,2楼的方法比较灵活点。

我用的sed的版本是:windows console version

  Quote:
E:\xm>sed -V
GNU sed version 4.0.7
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.



2008-6-29 03:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: