【发布时间】:2017-04-15 05:37:41
【问题描述】:
我之前曾向parsing a text file 寻求帮助,并且一直在为我的脚本使用此代码:
import-csv $File -header Tag,Date,Value|
Where {$_.Tag -notmatch '(_His_|_Manual$)'}|
Select-Object *,@{Name='Building';Expression={"{0} {1}" -f $($_.Tag -split '_')[1..2]}}|
Format-table -Groupby Building -Property Tag,Date,Value
从那以后我意识到,虽然代码会过滤掉任何包含_His 或_Manual 的标签,但我还需要过滤掉与_Manual 关联的所有标签。例如,我的文本文件中存在以下标签:
333E02MW_Manual 字符串将使用我当前的代码被排除,但我怎么能同时排除 333E02MW_Cleansed 和 333E02MW_Consumption?我觉得我需要一些可以让我在每个 _Manual 实例之前提取 8 位代码的东西,然后用它来查找带有 {MatchingCode} 的任何其他字符串
xxx_xxxx_xxxxxxxxxxx_xxxxxxxxxx_MatchingCode_Cleansed
xxx_xxxx_xxxxxxxxxxx_xxxxxxxxxx_MatchingCode_Consumption
我知道有 -like -contains 和 -match 运算符,并且我已经看到这些关于使用 substrings 和 regex 的帖子,但是我如何提取 MatchingCode 以实际匹配某些内容? This post 似乎最接近我的目标,但我不确定如何将其应用于 PowerShell。
【问题讨论】:
标签: powershell