【发布时间】:2019-01-28 01:17:18
【问题描述】:
我遇到了从文件中提取文本的问题。这是我最终想做的事情:
- 在特定文件中搜索短语“NoRequest”的实例。
- 只取 NoRequest 的值。即如果 NoRequest = true,那么它只会将“true”添加到数组中,而不是整行。
- 对文件中的每个短语实例执行此操作。
这是我正在处理的部分的 sn-p:
$FileContents = Select-String -Path "C:\Users\me\Documents\file.ini" -Pattern "NoRequest"
当我使用那条线时,我得到以下信息:
PS> $文件内容 Documents\file.ini:222:NoRequest = false Documents\file.ini:281:NoRequest = false Documents\file.ini:347:NoRequest = false Documents\file.ini:387:NoRequest = false Documents\file.ini:1035:NOREQUEST = true Documents\file.ini:1047:NoRequest = true Documents\file.ini:1160:NOREQUEST = true Documents\file.ini:1242:NOREQUEST = true这是我想要的:
PS> $文件内容 错误的 错误的 错误的 错误的 真的 真的 真的 真的我尝试将代码导入Select-Object -Last 1 解决方案,但由于我的变量是一个数组,它选择数组中的最后一行,而不是每行的最后一个单词。我还想过只取数组并做一个“数组中的 foreach 行,除最后一个单词之外的所有内容”。我猜这会起作用,但它似乎是一个笨拙的解决方案。我确信有一个简单有效的解决方案,但我只是没有看到它。
【问题讨论】:
标签: arrays powershell variables foreach select-string