在 Powershell 中搜索匹配的地图名称
Searching for a matching map name in Powershell
抱歉,我真的不知道如何正确地问这个问题。
我想在 Powershell 中解析 CS:GO 演示文件,我想从中检索地图名称。
我这样打开 dem 文件:
获取内容 $demo | Select - 前 1 | Select-字符串-模式'de_'
我得到这样的回应:
HL2DEMO đ5 MatchServer I.
GOTV Demo
de_mirage
csgo
@#A g uÔ ~ř˙˙
ą Vđk (8wEÄü€ŢMĐhZăU X@`śh u <zcsgo‚ de_mirageŠ ’sky_dustšGOTV¨ ° ¸ ( 0 ž
我只想获取 de_mirage 作为变量。因此,如果地图发生变化,那么它将是 de_dust2 或 de_inferno 等等。有人知道这个的解决方案吗?
谢谢!
当使用 Get-Content
时,每行一次通过管道 一个,除非指定 -Raw
开关。我之所以提出这个问题,是因为您正在使用 Select
cmdlet。当您指定参数 -First
,值为 1
时,您只是抓取第一行,然后尝试在第一行中查找模式。
这是我对 RegEx 的拙劣尝试:
Get-Content -Path $demo | Where-Object -FilterScript { $_ -match 'de_\w+' }
$Matches[0]
。 . .其中 $Matches
Automatic Variable 包含所有匹配的 RegEx 模式(如名称所示)以数组格式存储;我们使用索引号来引用值。就像您所做的那样,在搜索模式时,这也可以通过管道传输到 Select-String
。
抱歉,我真的不知道如何正确地问这个问题。 我想在 Powershell 中解析 CS:GO 演示文件,我想从中检索地图名称。
我这样打开 dem 文件: 获取内容 $demo | Select - 前 1 | Select-字符串-模式'de_'
我得到这样的回应:
HL2DEMO đ5 MatchServer I.
GOTV Demo
de_mirage
csgo
@#A g uÔ ~ř˙˙
ą Vđk (8wEÄü€ŢMĐhZăU X@`śh u <zcsgo‚ de_mirageŠ ’sky_dustšGOTV¨ ° ¸ ( 0 ž
我只想获取 de_mirage 作为变量。因此,如果地图发生变化,那么它将是 de_dust2 或 de_inferno 等等。有人知道这个的解决方案吗?
谢谢!
当使用 Get-Content
时,每行一次通过管道 一个,除非指定 -Raw
开关。我之所以提出这个问题,是因为您正在使用 Select
cmdlet。当您指定参数 -First
,值为 1
时,您只是抓取第一行,然后尝试在第一行中查找模式。
这是我对 RegEx 的拙劣尝试:
Get-Content -Path $demo | Where-Object -FilterScript { $_ -match 'de_\w+' }
$Matches[0]
。 . .其中 $Matches
Automatic Variable 包含所有匹配的 RegEx 模式(如名称所示)以数组格式存储;我们使用索引号来引用值。就像您所做的那样,在搜索模式时,这也可以通过管道传输到 Select-String
。