【问题标题】:Get specific Token from a line using batch Findstr & /f使用批处理 Findstr & /f 从一行中获取特定的 Token
【发布时间】:2015-12-16 14:18:22
【问题描述】:

所以我有一个很大的日志文件,我需要在其中搜索一条数据,数据所在的行并不总是相同,因此使用 Findstr 是获取特定数据的唯一方法,但另一方面手,我不是在寻找整条线,而是在寻找一个特定的令牌,我对此真的很陌生,但这就是我一直在搞砸的:

for /f "tokens=12 delims= " %%i in (LogOutput.txt) do (
findstr /c:"W_LPS_DUMPS (Scheduled)  Start time:" >> time.txt
)

我想在文档中找到那个特定的短语,收集由空格分隔的行上的第 12 个标记,然后将其写入一个名为 time.txt 的 txt 文件。这是可能的还是我已经走了?

【问题讨论】:

    标签: batch-file scripting


    【解决方案1】:

    你有点亲近。试试这个。

    for /f "tokens=12 delims= " %%G in ('type LogOutput.txt ^|findstr /c:"W_LPS_DUMPS (Scheduled)  Start time:"') do >>time.txt echo %%G
    

    【讨论】:

    • 非常感谢!那行得通!
    • 您为什么要type 日志文件并将其通过管道传输到findstr?您可以简单地将日志文件作为findstr 的参数提供,这比管道更快...
    • @Abstract3000,如果此答案解决了您的问题,请考虑将其标记为已接受...
    • 我不允许我的用户反馈只有 14 个,而且我必须至少有 15 个才能做到这一点,我试过了。
    猜你喜欢
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多