中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 22:41
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何在文本中提取两个特征码之间的字符?
可打印版本  1,052 / 7
第1楼 lixinwu 发表于 2007-01-27 00:27
初级用户 发帖 14 积分 31
如何在文本中提取两个特征码之间的字符?
从文本中提取指定的ip地址并导出,提取<TD class=name>和</TD>之间的ip,文本0.txt如下:


我这个批处理总是不成功,请各位看看错在哪里了?



[ Last edited by namejm on 2007-1-26 at 05:46 PM ]
第2楼 namejm 发表于 2007-01-27 01:33
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  选好分隔符号很重要,试试下面的代码:
第3楼 lixinwu 发表于 2007-01-27 03:49
初级用户 发帖 14 积分 31
多谢了,好用,学习中。。。。
第4楼 amao 发表于 2007-02-03 21:28
中级用户 发帖 152 积分 316
@sed "/:/!d;s/.*>\(.*\):.*/\1/" 0.txt
第5楼 anqing 发表于 2007-02-03 23:46
高级用户 发帖 413 积分 859
@echo off
for /f "tokens=2 delims=>:" %%i in ('findstr \. 0.txt') do echo %%i
pause
这种用法头一次看到
sed命令真强,不过可惜要下载?不是原来的xp命令,在xp中它和for即使有速度上的差别,也可忽略,必竟p是小程序
第6楼 flyingphf 发表于 2008-03-30 15:17
中级用户 发帖 142 积分 392
这个sed命令我看不大懂啊,能具体说一下吗,如果中间是中文可以提取的吗
第7楼 wzq5510 发表于 2008-03-30 19:01
新手上路 发帖 9 积分 19
我饿得我
第8楼 sylovanas 发表于 2008-03-30 19:39
初级用户 发帖 42 积分 107
/:/!d
不包含:字串的行删除

s/.*>\(.*\):.*/\1/
将一行中有>任意字串到:任意字串到结尾的行改成()之内的字串

如果要搜寻中文建议用变量,但可能会牵扯到字码问题
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023