找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21547|回复: 9

[问题求助] [已解决]:Sed命令如何取文本的某一段?

[复制链接]
发表于 2014-3-30 20:03:11 | 显示全部楼层 |阅读模式
本帖最后由 Tuberose 于 2014-3-31 18:56 编辑

我有一个 MyDOC.txt 文件
内容如下:

1. aaa 111
2. bbb 222
3. ccc 333
4. ddd 444
5. eee 555
6. fff 666

文本不定长
我想获取中间的某段文本
比如:

3. ccc 333
4. ddd 444

用 Sed.exe 如何下参数

谢谢你

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-3-31 08:42:59 | 显示全部楼层
  1. sed "3,4!d" a.txt > b.txt
复制代码
发表于 2014-3-31 08:43:23 | 显示全部楼层
  1. sed -n "3,4p" a.txt > c.txt
复制代码
 楼主| 发表于 2014-3-31 09:24:21 | 显示全部楼层
谢谢管理员的帮助
我知道了 "3,4p" 是取出 3-4行的文本

如果进一步问
我不知道行数号
我要取出:
bbb 222  到 eee 555 之间的文本
其中包含和不包含 bbb 和 eee 的 Sed 的两种参数如何写
比如取出
1.包含的:
======
2. bbb 222
3. ccc 333
4. ddd 444
5. eee 555

2.或者不包含的:
==========
3. ccc 333
4. ddd 444

谢谢
发表于 2014-3-31 09:51:46 | 显示全部楼层
  1. sed "/bbb 222/,/eee 555/!d" a.txt > b.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
Tuberose + 1 乐于助人

查看全部评分

 楼主| 发表于 2014-3-31 16:08:46 | 显示全部楼层
可以了
谢谢专家的指导
我对 DOS 更有信心了
 楼主| 发表于 2014-3-31 16:09:55 | 显示全部楼层
这个帖子怎么结贴呀?
发表于 2014-3-31 17:31:11 | 显示全部楼层
发表于 2014-5-31 11:04:18 | 显示全部楼层
再问batcher版主,如果有N个文本,想提取文本里面的某字段(如上面的ccc 333字段,且该字段有N行),代码该如何改写呢?谢谢
发表于 2014-5-31 11:43:47 | 显示全部楼层
回复 9# gannh


    你自己单独发个帖子吧,记得给出文本内容。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:06 , Processed in 0.021227 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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