![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 17:08 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]提取文本中特定内容并且过滤相同的内容 |
| 可打印版本 730 / 2 |
| 第1楼 Dana | 发表于 2008-04-24 15:32 |
| 初级用户 发帖 28 积分 70 | |
|
[求助]提取文本中特定内容并且过滤相同的内容 <BATCH>
<FACTORY TESTER="BFT5" /> <PRODUCT /> <REFS /> <PANEL> <SN ID="D410978185512" STATUS="Failed" TIMESTAMP="2008-04-21 00:16:08" TESTTIME="150.275000"> <GROUP NAME="" TIMESTAMP="" STATUS="Failed" > <TEST NAME="" VALUE="" STATUS="Failed" DESCRIPTION="" FAILURECODE="BAATOK" /> </GROUP> </SN> </PANEL> </BATCH> 4/21/2008 12:16:08 AM <?xml version="1.0"?><ITEM><FACTORY NAME="" TESTER="BFT5" FIXTURE="" USER="" /><PANEL ID="" COMMENT="" RUNMODE="" TIMESTAMP="" TESTTIME="" WAITTIME="" STATUS="" /><SN ID="D410978185512" UID="1" STATUS="Failed" TIMESTAMP="2008-04-21 00:16:08" TESTTIME="150.275000" ENDTIME="" PANELIDX="" SOCKET="" COMMENT="" /><GROUP UID="1" SN="1" PARENT="" DESCR="" NAME="" STEPGROUP="" GROUPIDX="" LOOPIDX="" TYPE="" RESOURCE="" MODULETIME="" TOTALTIME="" TIMESTAMP="" STATUS="Failed" COMMENT="" /><TEST NAME="" SN="1" GROUP="1" STATUS="Failed" UNIT="" VALUE="" RULE="" TARGET="" DATATYPE="" FAILURECODE="BAATOK" /></ITEM> 4/21/2008 12:17:55 AM Slave Server=172.30.192.6 4/21/2008 12:17:55 AM CLASS INIT OK 4/21/2008 12:17:55 AM <?xml version="1.0" encoding="ISO-8859-1" ?> 以上是文本中的一部分,文本是不断递增的,递增内容与上面格式相同。不同的是SN ID="D410978185512的值,时间的值不一样。 现在想提取文本中所有 SN ID=的值D410978185512 写入 SN.txt文件,但是内容 SN ID="D410978185512" 会出现两次,而且SN ID 中间包含一个空格,见红色字体。我只需要一条记录写入到SN.txt 中,忽略一个。还请大家给个思路。 |
|
| 第2楼 terse | 发表于 2008-04-24 16:04 |
| 银牌会员 发帖 946 积分 2,404 | |
|
@echo off
for /f "tokens=3 delims==< " %%i in ('type 1.txt ^|findstr /i "^SN ID="') do if not defined str set str=A&echo %%i&pause |
|
| 第3楼 Dana | 发表于 2008-04-24 17:26 |
| 初级用户 发帖 28 积分 70 | |
|
多谢,问题解决了,刚刚的回帖不小心删除了。
可否能用 sed 或 grep 命令实现? 再次感谢 Terse |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |