我有一个采用这种格式的系统。
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
答案 0 :(得分:1)
如果样本输入中的两列存储在单独的数组中,则以下代码将产生所需的输出(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 } } }
答案 1 :(得分:1)
其他方法:
$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)
}
}