У меня есть файл журнала в руке, выглядит так: 0226 111641 (1911) 0 какое-то разделенное пробелами сообщение, содержащее любые буквы и метки
Мне нужно импортировать его в базу данных, чтобы использовать фильтры на нем,когда устранение неполадок необходимо.В настоящее время я считаю, что PowerShell - лучший выбор для достижения этой цели, но я слишком зелен, чтобы точно знать, как это сделать, чтобы он мог работать на самом деле.Я пытался сделать это так:
$file = Get-Content "test.txt"
foreach ($line in $file)
{
#Write-Host $line
$a = $line
$month1 = $a[0..1]
$month2 = "$month1"
$month2 = $month2.ToString()
$month = $month2.Replace(" ", "")
$day1 = $a[2..3]
$day2 = "$day1"
$day2 = $day2.ToString()
$day = $day2.Replace(" ", "")
}
... и так далее.после этого вставив его в базу данных.Тем не менее, файл журнала довольно большой (в настоящее время 15 МБ за 3 недели, ожидается, что он будет занимать сотни мегабайт в течение нескольких месяцев), и сценарию уже требуется около 4-5 минут для его обработки.Так что мне нужен метод для разделения четырех столбцов, разделенных пробелом, от начала строки, преобразования первого и второго в дату и время и добавления их с частью сообщения строки в базу данных.Отдельная обработка каждого блока текста занимает слишком много времени, например, Excel может обработать этот файл за считанные секунды.Есть ли какая-то позиция, осведомленная о команде csv-import?
Спасибо.
Нашел это: Заменить первые два вхождения в пробел запятыми с помощью sed , если бы я использовал linux ...: (
)