【问题标题】:CCM logs reading last few Log Text linesCCM 日志读取最后几行日志文本
【发布时间】:2019-07-12 05:22:58
【问题描述】:

我想知道是否有办法只获取最后 x 行的内容的选定对象。在本例中,最后 5 行。下面是我正在使用的命令。

Get-Content "C:\Windows\CCM\Logs\DataTransferService.log" | Select-Object -Last 5

当最后一行(在日志文本下突出显示)在线程中有多行时,在任何 ccm 日志文件上运行此命令时,它会将这些线程行计为 5 行。因此,我的结果不会显示带有文本 DTSjob 的最后几行。此外,只要最后一行没有包含多行的线程,该命令就会按预期工作。因此,如果有一种方法可以只显示最后 x 个日志文本行而不显示线程,那将会很有帮助。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    我相信那些额外的行是制表符分隔的。您可以在发送到 Select-Object 之前将其过滤掉。

    Get-Content DataTransferService.log |
        Where-Object {$_ -notmatch "\t"} |
            Select-Object -Last 5
    

    【讨论】:

    • 另外,使用 -tail 只获取最后 X 行。您不想读取整个文件并将其传递到管道中,只需读取最后 10 或 15 个,然后过滤选项卡,然后选择最后 5 个。
    • 谢谢。我为 x 行添加了 -Tail 参数。此外,如果它确实出现在日志中,是否有突出显示“0x800706D9”?我刚刚意识到,在寻找最后几行的日志方面,我正处于我想要的位置,但文本仍然令人不快。
    猜你喜欢
    • 2019-07-26
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 2012-06-24
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多