我很难让PowerShell在"grep"后拆分字符串。 我真的很想从每小时的网络日志中获取 10 个最大值。
"Grep"有效,但我无法拆分它:
PS D:\Work\ps> D:\Work\ps\test\grep.ps1 方法调用 失败,因为 [Microsoft.PowerShell.Command.MatchInfo] 没有 包含一个名为"split"的方法。at D:\Work\ps\test\grep.ps1:8 char:2 + $string.split($separator,0, $option) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 类别信息 : 无效操作: (:) [], 运行时异常 + 完全限定错误 ID : 方法未找到
https://communary.net/2014/11/10/grep-the-powershell-way/https://blogs.technet.microsoft.com/heyscriptingguy/2014/07/17/using-the-split-method-in-powershell/
##"[com.vendorStuff.utils.Stopwatch]"
$string = select-string "execution :" "D:logsserver.log" -ca
$separator = "execution :"
$option = [System.StringSplitOptions]::RemoveEmptyEntries
$string.split($separator,1, $option)
#$data.Split("execution :")[1]
注意:我已经逃脱了:"执行:"是无能为力的。 我尝试过的几件事:
[string]$Data = sls 'execution :' "D:Workpstestserver.log" -ca
$data.split('execution :')[1]
以及:
$Data = (sls 'execution :' "D:Workpstestserver.log" -ca).tostring().split('execution :')[1]
谢谢!
可以对字符串使用-split
参数。
$string = "oneToken execution :andAnotherToken"
$string -split "execution :"
oneToken
andAnotherToken