tipo de objeto Powershell, csv

1

Eu tenho dois arquivos * .csv. O primeiro contém isso

IP, MAC, Name, Comment
10.10.122.1, 66-55-44-33-22-11, testuser1, this is testuser 1
10.10.122.100, 66-55-44-33-22-12, testuser2, this is testuser 2
10.10.122.2, 66-55-44-33-22-13, testuser3, this is testuser 3
10.10.122.4, 66-55-44-33-22-14, testuser4, this is testuser 4
10.10.122.203, 66-55-44-33-22-15, testuser5, this is testuser 5

O segundo contém a lista classificada dos IPs. Isso foi um pouco complicado porque você tinha que adicionar zeros à esquerda para ordenar os IPs e então você precisava remover os zeros à esquerda. Então o arquivo é assim:

10.10.122.1
10.10.122.2
10.10.122.4
10.10.122.100
10.10.122.203

Como posso obter os outros atributos? como o MACS adequado para os IPs no segundo arquivo csv?

Eu tentei usar o where-object, mas infelizmente não sei como comparar os IPs e depois vincular os outros atributos para os IPs corretos.

    
por Sascha R. 27.10.2014 / 08:31

1 resposta

3

Basta classificar o csv original:

$data = Import-Csv first.csv
$data = $data | Sort-Object {"{0:000}.{1:000}.{2:000}.{3:000}" -f @([int[]]$_.IP.split("."))}

Agora, como tratamos cada octeto do IP como uma string preenchida com zero durante a classificação, eles serão listados na ordem correta.

    
por 27.10.2014 / 09:10

Tags