0

我有一个包含以下数据的文本文件。例如:test.txt

    20Jun@17:28 Ticket = [ABCDEF]
    21Jun@17:28 12345
    22Jun@17:28 This is a test line
    25Jun@17:28 Ticket = [ABCDEF]
    25Jun@17:28 Ticket = [123456]
    25Jun@17:28 This is a test line
    25Jun@17:28 Ticket = [DFG256]
    25Jun@17:28 Ticket = [ABCDEF]

我选择了一个如下变量来捕获今天的条目。

    $date=get-date -format ddMMM
    $match=select-string -pattern $date $filename

这工作得很好,但是新的要求是没有必要捕获今天的每一个条目。

只需要捕获其中包含名称为 Ticket 的条目的行。那么有什么方法可以让我的模式如下:

    25Jun@17:28 Ticket = [ABCDEF]
    $date+@+......'Ticket = ['......']' --is there something like this..

我对正则表达式知之甚少:(

4

2 回答 2

4

适合您的模式如下:

"$date[@]\d+:\d+ Ticket"

已定义工单的模式是:

 "$date@\d+:\d+ Ticket = [[]ABCDEF[]]"
于 2013-06-25T12:35:05.693 回答
-1

第二行应该是:

$match=select-string -pattern $date $filename | where-object {$_ -match "\d\d\w\w\w.+Ticket"}

在此处输入图像描述

于 2017-04-04T10:42:50.343 回答