use*_*040 6 powershell text lines match
我有一个包含数百行文本的文本文件,其中包含数据库信息.
我正在尝试DatabaseId为任何35GB的数据库提取s.
我想使用Powershell查询文件并生成包含所有匹配数据库的文本文件.
所以从本质上讲,我想浏览文件,找到一个DatabaseSize35,然后DatabaseId从前面的3行中提取相应的.
我看了整个网,但似乎找不到任何可以做到这一点的东西.
文本文件的示例摘录:
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
Run Code Online (Sandbox Code Playgroud)
试试这样的事情:
(( GC myfile.txt |
Select-String 'DatabaseSize = 35' -Context 3 ).context.precontext)[0]
Run Code Online (Sandbox Code Playgroud)
如果是多个匹配:
(GC myfile.txt |
SELECT-STRING 'DATABASESIZE = 35' -Context 3 ) | % { ($_.context.precontext)[0] }
Run Code Online (Sandbox Code Playgroud)