Сортировка 2 столбцов в объекте powershell Array для поиска различий - PullRequest
0 голосов
/ 12 октября 2018

У меня есть система. Массив в этом формате

A_Site      B_Site
----------- -----------
BN6         BIO70      
BY21        BN6        
BY4         BY21       
CBR20       BY4 

Есть ли способ сортировки, это такой способ, как это?Идея состоит в том, чтобы узнать, есть ли пропущенные коды сайтов в столбце A или пропущены коды сайтов в столбце B ..

A_Site      B_Site
----------- -----------
BN6         BN6      
BY21        BY21        
BY4         BY4       
CBR20       
            BIO70

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Другой метод:

$arr1 = "BN6", "BY21", "BY4", "CBR20"
$arr2 = "BIO70", "BN6", "BY21", "BY4"

$arr1+ $arr2 | select -Unique | %{

    $Value=$_;

    [pscustomobject]@{
    Value=$_
    IsInArray1=(($arr1 | where {$_ -eq $Value} | select -First 1) -ne $null) 
    IsInArray2=(($arr2 | where {$_ -eq $Value} | select -First 1) -ne $null) 
    }

}
0 голосов
/ 12 октября 2018

Если два столбца в вашем вводном примере хранятся в отдельных массивах , следующее дает желаемый результат (PSv3 +):

$arr1 = "BN6", "BY21", "BY4", "CBR20"
$arr2 = "BIO70", "BN6", "BY21", "BY4"

Compare-Object $arr1 $arr2 -IncludeEqual | 
  Select-Object @{ n='A_Site'; e={ if ($_.SideIndicator -in '==', '<=') { $_.InputObject } } }, 
                @{ n='B_Site'; e={ if ($_.SideIndicator -in '==', '=>') { $_.InputObject } } }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...