Board logo

标题: [求助]提取文本中特定内容并且过滤相同的内容 [打印本页]

作者: Dana     时间: 2008-4-24 15:32    标题: [求助]提取文本中特定内容并且过滤相同的内容

<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 中,忽略一个。还请大家给个思路。
作者: terse     时间: 2008-4-24 16:04
@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
作者: Dana     时间: 2008-4-24 17:26
多谢,问题解决了,刚刚的回帖不小心删除了。

可否能用 sed 或 grep 命令实现?
再次感谢 Terse