Ade*_*SIF 2 arrays powershell powershell-2.0 powershell-3.0
我有一个奇怪的问题,这是我的CSV:
Serveur;Carte;Cordon;IP;Mac;Vmnic ;Vmnic mac;Connect;Port
Dexter;eth1;405;172.16.5.117;00:24:e8:36:36:df;Vmnic0;00:50:56:56:36:df;sw-front-1;A1
Dexter;eth2;14;192.168.140.17;00:24:e8:36:36:e1;Vmnic1;00:50:56:56:36:e1; sw_eq_ds_1;3
;;;;;;;;
Gordon;eth1;404;172.16.5.124;b8:ac:6f:8d:ac:b4;Vmnic0;00:50:56:5d:ac:b4;;
Gordon;eth2;35;192.168.140.114;b8:ac:6f:8d:ac:b6;Vmnic1;00:50:56:5d:ac:b6;;
Gordon;eth3;254;192.168.33.10;b8:ac:6f:8d:ac:b8;Vmnic2;00:50:56:5d:ac:b8;;
Run Code Online (Sandbox Code Playgroud)
所以我使用以下代码将其导入数组:
$Serveur = @()
Import-Csv C:\Users\aasif\Desktop\myfile.csv -Delimiter ";" |`
ForEach-Object {
$Serveur += $_.Serveur
}
Run Code Online (Sandbox Code Playgroud)
要删除重复值,我这样做:
$Serveur = $Serveur | sort -uniq
Run Code Online (Sandbox Code Playgroud)
因此,当我显示我的数组时,我获得了这两个值:Dexter和Gordon以及第三个空值
但我也得到一个空值
以下代码返回3
$Serveur.count
Run Code Online (Sandbox Code Playgroud)
为什么?
谢谢你的帮助
如果有人(像我一样)需要从数组中删除空元素,但不进行排序:
$Serveur = $Serveur | Where-Object { $_ } | Select -Unique
Run Code Online (Sandbox Code Playgroud)