Разделение IP-адресов в ячейке CSV - PullRequest
0 голосов
/ 29 мая 2020

Я не могу импортировать из файла CSV. В этом файле есть поле «IP-адрес», однако программа, генерирующая форму (которую я не контролирую), может создать такой файл CSV

hostname,IP Address,Site
server1,192.168.1.10,florida
Server2,192.168.10.100
192.168.10.101
8.8.8.8,Alaska
server3,10.10.10.10,Ohio

Я импортирую CSV в переменную $sessions=import-csv -path $Path

В foreach ($session in $sessions) l oop я пытаюсь получить IP-адреса и разделить их следующим образом:

$IPs=$session."IP Address" -split "`r`n"

Однако, когда Я проверяю $ IP, это не похоже на массив, поскольку для сервера 2 $ IP показывает

PS c:\$IPS
 192.168.10.100
192.168.10.101
8.8.8.8
PS c:\$IPs.count
1

Что я могу сделать, чтобы разделить ячейку на массив, чтобы я мог обработать IP, найденные в foreach ($IP in $IPs) л oop

1 Ответ

0 голосов
/ 29 мая 2020

Использование "`r`n" для разделения на новые строки завершится ошибкой, если ввод не использует возврат каретки.

Либо сделайте символ возврата каретки необязательным в шаблоне регулярного выражения:

$IPs = $session."IP Address" -split "`r?`n"

Или используйте -split в унарном режиме, который обрежет входную строку и разделит ее на последовательные последовательности пробелов:

$IPs = -split $session."IP Address"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...