Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.131.13.37] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток.
Имеется файл данных формата: 03.04.2019 8:20:18 Added Unknown TCP 192.168.1.111:62580 10.10.1.11:443 Нужно в PowerShell импортировать данные, которые имеют фиксированную позицию чтобы преобразовать в нормальный csv Если я указываю: Import-CSV -Path D:\cports.log -Header con_date,con_time,con_type,con_process,con_TCP_UDP,con_local_ip,con_local_port,con_remote_ip,con_remote_port -delimiter " " -Encoding Default То данные импортируются неверно, потому как в первом поле - разделитель - один пробел, в 4-ом 4 пробела и в итоге пустые поля. К тому же часть данных (ip:port) нужно импортировать с разделителем ":" Как это оптимально реализовать? |
Сообщ.
#2
,
|
|
|
да проще самому распарсить:
function Parse-Line($str) { $data = $str -split "\s+" return New-Object PSObject -Property @{ con_date = $data[0] con_time = $data[1] # далее сам.. } } get-content "D:\cports.log" |% { Parse-Line $_ } |