Этот Join-Object
основан на сценарии , а не модуле , это означает, что вы можете сначала «установить» (загрузить) его на другой компьютер и это просто скопировать / вставить его (или содержимое) на ваш сервер. Вы также можете скачать его с сайта проекта и dot-source скрипт: . .\Join-Object.ps1
.
См. Также: В Powershell, какой лучший способ присоединиться две таблицы в одну? .
Specifi c на ваш вопрос:
Как прокомментировал @Theo « Дублирующие имена столбцов - это плохо в csv », особенно в PowerShell, где ConvertFrom-Csv
Командлет вызовет ошибку в таком CSV-файле.
Скрипт Join-Object
имеет возможность присоединить объект на основе индекса строки, просто пропустив параметр -On
. В этом случае он будет помещать столбцы, которые существуют с обеих сторон в массиве по умолчанию:
Import-Csv a.csv | Join-Object (Import-Csv b.csv) | Format-Table
Vm Resource SID 123 456 789
-- -------- --- --- --- ---
{mnvb, b} vclkn vxjcb apple banana orange
{vjc.v, v} vnxc,m bvkxncb lemon onion tomato
Используя параметр -Discern
, Join-Object
разбивает повторяющиеся значения на два столбца, используя значения различения как префиксы:
Import-Csv a.csv | Join-Object (Import-Csv b.csv) -Discern a,b | Format-Table
aVm Resource SID bVm 123 456 789
--- -------- --- --- --- --- ---
mnvb vclkn vxjcb b apple banana orange
vjc.v vnxc,m bvkxncb v lemon onion tomato