2017-05-17 7 views
0

私はPowerShellがI「はgrep」それの後に文字列を分割するために得ることに苦労しています。私は本当に1時間ごとのWebログから10の最大値を得たいと思っています。Grepの - PowerShellのスタイル

"Grepのは" 動作しますが、私はそれを分割することはできませんよ。

PS D:\作業\ PS> D:\作業\ PSは\テスト\ grep.ps1メソッドの呼び出し が失敗しました[Microsoft.PowerShell.Commands.MatchInfo]は に 'split'という名前のメソッドが含まれていないためです。 \作業\ PSの\テスト\のgrep.ps1:8文字:Dで2 + $のstring.Split($セパレータ、0、$オプション) + ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:はInvalidOperation:(:) []、のRuntimeException + FullyQualifiedErrorId:

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/をMethodNotFound
##"[com.vendorStuff.utils.Stopwatch]" 

$string = select-string "execution \:" "D:\logs\server.log" -ca 
$separator = "execution \:" 
$option = [System.StringSplitOptions]::RemoveEmptyEntries 
$string.split($separator,1, $option) 
#$data.Split("execution \:")[1] 

注意することがimporatntです:「実行:」私はすでに脱出してきた私がしようとした事の カップル:

[string]$Data = sls 'execution \:' "D:\Work\ps\test\server.log" -ca 
$data.split('execution \:')[1] 

など:

$Data = (sls 'execution \:' "D:\Work\ps\test\server.log" -ca).tostring().split('execution \:')[1] 

ありがとう!

答えて

1

あなたは、文字列に-splitパラメータを使用することができます。

$string = "oneToken execution :andAnotherToken" 
$string -split "execution :" 
oneToken 
andAnotherToken 
+0

私は非常に明確ではありませんでした。 '「実行:」文字列は既にエスケープされて...それはもともと、私はそれを作った理由です:'「実行\:」 – Leptonator

+0

私はエスケープを含めるだけでなく、私が試してみました、物事への質問を変更しました。 – Leptonator