在字符串之间选择文本Powershell

时间:2018-09-26 16:29:59

标签: regex powershell scripting guid

晚上,

是否有一种简单的方法可以在字符串之间选择文本?

例如:我有一个导入.txt文件的脚本。我想选择objectGUID:和userAccountControl之间的所有字符串。

countryCode: 0
badPasswordTime: 131823486788076442
lastLogon: 131824500819176115
pwdLastSet: 131377781146718190
objectGUID:: +i+FBf6NJUy+G+T6S52UUw==
userAccountControl: 66048
badPwdCount: 0
codePage: 0

在上面的示例中,结果将是:+ i + FBf6NJUy + G + T6S52UUw ==

最终,我将其转换为变量,以后可以在其中调用。 任何帮助将不胜感激。

最好的问候和谢谢。

4 个答案:

答案 0 :(得分:2)

假定内容是文件:

(Select-String -Path /file.txt -Pattern '(?<=objectGUID:: ).+').Matches.Value

此解决方案使用正向后视,因此它不包含在捕获中。

答案 1 :(得分:1)

您可以使用以下正则表达式:objectGUID:: (.*)

请参考第一组以获取objectGUID后面的文字

答案 2 :(得分:0)

如果在Powershell中运行,请尝试选择字符串

PS C:\> Select-String -Path "*.txt" -Pattern "objectGUID"

此命令在当前目录中搜索所有扩展名为.txt的文件,并在这些文件中显示包含字符串“ objectGUID”的行。

答案 3 :(得分:0)

尝试一下!

正则表达式:

objectGUID::[ ](.*)userAccountControl

通过正则表达式101验证:

enter image description here