我正在尝试解析文本文件中的特定信息。我希望能够采用以下文字:
&15:44:25.3911456_0089& SIPEngine 0x208c N SIPUDPTransport::process_message() : remote=10.250.2.18:5060, message= To: sip:%QBE-JV9SKV1-SP%@10.250.2.18:5060;tag=6642 &15:44:31.7504799_0013& SIPEngine 0x2014 N SIPUDPTransport::process_message() : remote=10.250.2.85:5060, message= To: sip:%QBE-75FHBW1-SP%@10.250.2.85:5060;tag=11225
并将其解析为以下数据:
15:44:25.3911456_0089,QBE-JV9SKV1-SP
15:44:31.7504799_0013,QBE-75FHBW1-SP
&
和%
被添加为分隔符。我可以通过查找和替换获得创意,以添加这样的分隔符。
任何有关如何解析这样的数据的帮助将不胜感激。我一直在尝试使用SED
,FOR /F
和其他工具,但我还没有太多运气。信息模式将一个接一个地重复。
基本上我只是想在文本文件中识别分隔的字符串并输出它们,所以我希望这也可以帮助其他人。
提前感谢您的帮助!
答案 0 :(得分:1)
试试这个:
@echo off&setlocal
(for /f "tokens=1,2delims=&%%" %%i in ('findstr "SIPEngine QBE" file.txt') do (
set "line1=%%i"
set "line2=%%j"
setlocal enabledelayedexpansion
if "!line2:SIPEngine=!" neq "!line2!" (<nul set/p"=!line1!,"
) else if "!line2:QBE=!" neq "!line2!" echo(!line2!
endlocal
))>out.txt
type out.txt
..输出是:
15:44:25.3911456_0089,QBE-JV9SKV1-SP
15:44:31.7504799_0013,QBE-75FHBW1-SP