我有一个文本文件,我希望能够找到“Acct Nbr:”的任何实例,并获取“队列编号:”、“队列描述:”的前几行以及名为 ApplNbr 的队列编号之后的第 5 行。如果在它之前还有其他应用程序,它并不总是第 5 行。此行始终是 3 列数字。例如:“5024 17 110”或“964 16 100”
如您所见,每个队列有时有多个“Acct nbr:”条目,但大多数时候只有一个。如果可能的话,有多个 Acct nbr: 在一个队列编号行下会很好。此文本文件中有数千个条目,我只需要查找由 Acct nbr 标识的这些错误:但我需要每个错误的队列号、que 描述和 appl nbr。我希望我是清楚的。
我用“->”标记了所需的行。我想使用 python,但我对其他脚本语言(如 powershell)或使用 gnu 实用程序(如 grep)持开放态度。
感谢您的时间和关注。
要解析的文本示例:
->Queue Number: 87125  Queue Effective Date:  09-05-2012  Queue Scheduled Date:  09-05-2012
->Queue Description: **Posting File** Processing  Queue Type Description: PM File Load Copy
  Appl QSub  Seq  Appl                   Appl      Return   Start     Stop   Time of Run
  Nbr  Nbr   Nbr  Description            Name      Code     Time      Time   (In Minutes)
->386  2     0    Inclearing Processing  AH_CLEAR  0      12:07:21  12:07:56       0.583
  Procedure Complete
  ***************  Batch Application Errors  ***************
->Acct Nbr: 0000000000      Batch Actv Msg: Bank Check Not Processed - Validation Error
->Batch Oracle Msg:
->Acct Nbr: 0000000000      Batch Actv Msg: Bank Check Not Processed - Validation Error
->Batch Oracle Msg:
期望的输出:
Queue Number: 87125  Queue Effective Date:  09-05-2012  Queue Scheduled Date:  09-05-2012
Queue Description: **Posting File** Processing  Queue Type Description:  PM File Load Copy
386    2      0  Inclearing Processing     AH_CLEAR  0      12:07:21  12:07:56       0.583
Acct Nbr: 0000000000      Batch Actv Msg: Bank Check Not Processed - Validation Error
Batch Oracle Msg:
Acct Nbr: 0000000000      Batch Actv Msg: Bank Check Not Processed - Validation Error
Batch Oracle Msg: