中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 20:09
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何截取文件内两个指定标记之间的一段文字
可打印版本  796 / 3
第1楼 zerocq 发表于 2007-09-10 23:28
中级用户 发帖 196 积分 458
如何截取文件内两个指定标记之间的一段文字
用sed能行吗,刚看了下,太抽象了,看头晕了

指定标记字符是"文章内容",行号不定

用别的方法也行,最重要是不能太占系统资源呃

高手帮帮忙;)

[ Last edited by zerocq on 2007-9-10 at 11:29 PM ]
第2楼 scriptor 发表于 2007-09-11 00:11
银牌会员 发帖 555 积分 1,187
一下是取一行之中的 ; 和 * 之间的字符(串)


这个是一行一行的读取啊
只是一个思路
你可以扩充一下
第3楼 wudixin96 发表于 2007-09-11 07:48
银牌会员 发帖 931 积分 1,928
用sed是可以的

假设要输出从包含bbb的行到包含ddd的行

sed -n "/bbb/,/ddd/p" 1.txt
第4楼 ccwan 发表于 2007-09-11 09:10
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
楼上的代码只适合行操作,举个例子:
refrer dsopw http dsfakejfdfasdfj , dfasdf 168dfaefdafe
上句中我要提取http和168之间的字符,楼上的代码是无效的。
可以换个思路,用替换啊
sed s/.*http/http/;s/168.*/168/ 1.txt
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023