1

ここでテキストファイルを分析しようとしています。

$a = (Get-Content c:\tabanalys.txt | Select-String "Total"  -casesensitive).line

これは文字列を返します:

Totals:               955198  147.9M     6 16477   162     962959    1.0     3.4

ここで、最後の数字「3.4」を取得する必要があります。この数字は可変です。私はそれを使用して取得することを考えています:

$a[-5..-1]  

これは私にはうまくいきますが、明らかに絶対に正しい答えではありません。それで、誰かが正しい答えを提案できますか?どうもありがとう!

4

2 に答える 2

1

別の方法:

$a -split ' ' | select -Last 1

あるいは単に

 ($a -split ' ')[-1]
于 2013-03-13T07:51:10.590 に答える
1

regex-fu を使用しない別のオプションを次に示します。文字列を分割 (空の要素は無視) し、最後の要素を取得します。

$a.Split(' ',[System.StringSplitOptions]::RemoveEmptyEntries)[-1]

3.4

または一致演算子を使用する (正規表現パターン):

if($a -match '\d+\.\d+$') {$matches[0]}
于 2013-03-13T07:53:11.503 に答える