0

だから私はこのような行を含むファイルを持っています:

Peter Nagy 3 4 6 7 4

ユーザーに名前を付けるように求める Power シェル スクリプトが必要で、その名前の横にある数値の平均を計算します。助けてください :)

$name1 = read-host 
$content = Get-Content test.txt
$talalt = $content | Where-Object { $_ -match  $name1 }

この後に何をすべきか、その文字列からそれらの数字を取得する方法がわかりません。

前もって感謝します

4

2 に答える 2

2

以下は、必要なことを行う必要があります。

$name1 = read-host 
$content = Get-Content NamesList.txt
$talalt = $content | Where-Object { $_ -match  $name1 }

$SplitString = $talalt.split(" ")

$NumberofNumbers = $SplitString.count-2

$total = 0;

for($i=2;$i-le $SplitString.count;$i++)
{
    $total = [int]$SplitString[$i] + $total
}

$average = $total/$NumberofNumbers

write-host "Average for $($name1) is $($average)"

よろしくアルカス

于 2012-12-06T16:05:16.477 に答える
2

基本的に、最初の数字から行末までを選択し、個々の数字を分割してから平均する必要があります。例:

$content | Where-Object { $_ -match  $name1 } | 
   Foreach {if ($_ -match '\D+(\d.*)') {-split $matches[1] | measure -average }}
于 2012-12-06T16:08:32.417 に答える