我有大约1k日志每天晚上拉和解析。
我们的想法是使用4个关键字中的1个在所有日志上运行findstr。例如:
FINDSTR /s /i /c:"keyword" *.* >> Findstrresult.txt
一旦这样,我就能看到所有关键字"关键字"在其中,可以进一步解析。
这就是我被困的地方。我可以自己拉出我想要的每个变量。例如:
FOR /F "tokens=3 delims= " %%a in (Findstrresult.txt) do (
FOR /F %%b in ("%%a") do Echo %%~b >> Number.txt
)
这会产生1k数字列表。
不同的令牌/ delim会产生1k名称的列表。
不同的令牌/ delim会产生1k次的列表。
每个都在自己的文本文件中。
我想做的是将它们一次拉出来,然后将它们一个接一个地写在一个字符串中,如下所示:
号码,名称,时间
我真是太近了。我只是需要一些建议。谢谢。
答案 0 :(得分:0)
(
FOR /F "delims= " %%a in (Findstrresult.txt) do (
FOR /F "tokens=3 delims= " %%b in ("%%a") do (
FOR /F "tokens,delims for name" %%n in ("%%a") do (
FOR /F "tokens,delims for time" %%t in ("%%a") do (
echo %%b,%%n,%%t
)
)
)
)
)>combinedresult.txt
将您的文件一行一行读入%%a
,然后以三种方式解析%%a
。嵌套for /f
会使每个元变量保持在范围内。
将整个例程括在括号中,可以收集echo
并重定向到新文件。如果愿意,可以使用>>
将其附加到现有文件中。