簡體   English   中英

Powershell - 如何從文本文件中獲取以前的行?

[英]Powershell - how to obtain previous lines from text file?

我有一個包含數百行文本的文本文件,其中包含數據庫信息。

我正在嘗試為任何35GB的DatabaseId提取DatabaseId

我想使用Powershell查詢文件並生成包含所有匹配數據庫的文本文件。

所以從本質上講,我想瀏覽文件,找到一個35的DatabaseSize ,然后從之前的3行中提取相應的DatabaseId

我看了整個網,但似乎找不到任何可以做到這一點的東西。

文本文件的示例摘錄:

ServerId = VMlinux-b71655e1
DatabaseId = db-ecb2e784
Status = completed
LocationId = 344067960796
DatabaseSize = 30

ServerId = VMlinux-0db8d45b
DatabaseId = db-cea2f7a6
Status = completed
LocationId = 344067960796
DatabaseSize = 35

ServerId = VMlinux-c5388693
DatabaseId = db-9a421bf2
Status = completed
LocationId = 344067960796
DatabaseSize = 8

etc

試試這樣的事情:

(( GC myfile.txt | 
   Select-String 'DatabaseSize = 35' -Context 3 ).context.precontext)[0]

如果是多個匹配:

(GC myfile.txt | 
SELECT-STRING 'DATABASESIZE = 35' -Context 3 ) | % { ($_.context.precontext)[0] }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM