Я импортирую CSV, и я хотел бы добавить столбец к нему (с результатом на основе предыдущих столбцов)
мои данные выглядят так
host address,host prefix,site
10.1.1.0,24,400-01
Я хотел бы добавить столбец под названием "sub site"
поэтому я написал этот модуль, но проблема в том, что фактическим конечным объектом является массив вместо строки
function site {
Param($s)
$s -match '(\d\d\d)'
return $Matches[0]
}
$csv = import-csv $file | select-object *,@{Name='Sub Site';expression= {site $_.site}}
если я запускаю команду
PS C:\>$csv[0]
Host Address :10.1.1.0
host prefix :24
site :400-01
sub site : {True,400}
когда это должно выглядеть
PS C:\>$csv[0]
Host Address :10.1.1.0
host prefix :24
site :400-01
sub site : 400
РЕДАКТИРОВАТЬ: Я нашел решение, но теперь вопрос почему.
Если я изменю свою функцию на $s -match "\d\d\d" |out-null
, я получу ожидаемое 400