|
|
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
Имеется лог, вида < 00000:00038:2014/07/08 14:40:36.37 Logon Login failed. User: vasia, Client IP address: '192.16.0.5'. 8:00000:00040:2014/07/08 14:46:51.33 Logon Login failed. User: ivanov, Client IP address: '192.20.1.107'. > Как распарсить строку, когда нету разделителей, и шаблоны не получается сделать, так как в первой строке 00000:00038: а уже во второй 8:00000:00040: Ну и та же петрушка с IP-адресом, нету постоянной длинны, что ли . в идеале хочется получить данные в таблице, вида: < 2014/07/08 14:40:36.37 Logon Login failed. User: vasia 192.16.0.5 2014/07/08 14:46:51.33 Logon Login failed. User: ivanov 192.20.1.107 > Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 17:04 |
|
||
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
Парсить планировал средствами ms sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 17:14 |
|
||
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
kostik88, 1) Сначала строки до пробела - 8:00000:00040:2014/07/08, убрать из строки, оставив окончание 1а) Из полученной строки - с конца строки до двоеточия - твоя дата 2) Сначала строки до пробела - 14:40:36.37, убрать из строки оставив окончание 3) С конца строки до пробела - '192.16.0.5', убрать из строки, оставив начало 4) Все что осталось - Logon Login failed. User: vasia, Client IP address: Т.е. по факту тебе нужны charindex(),reverse(),replace(),rigth(),left(),substring() - все в твоих руках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 18:02 |
|
||
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
Что такое "Средствами MSSQL" - SSIS? kostik8800000:00038:2014/07/08 14:40:36.37 Logon Login failed. User: vasia, Client IP address: '192.16.0.5'. http://www.purplefrogsystems.com/blog/2011/07/pattern-matching-in-ssis-using-regular-expressions-and-the-script-component/ И регулярное выражение типа Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 18:43 |
|
||
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
Что вообще МОЖЕТ содержаться в строке? в каком месте? с какими разделителями? что может быть пропущено, а что нет? если есть полное знание по этим моментам - разделение на отдельные фрагменты такой строки совершенно элементарная вещь. Просто надо сформировать чёткие критерии определения, что есть ху, а потом закодить это. Но если формат таков, что при просмотре невозможно понять, чем является некий фрагмент строки - то и закодить это невозможно. И вообще... что есть в твоём понимании "распарсить"? как ни странно, но из вопроса это неясно. А главное - непонятно, за каким хреном это делается и как потом используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 18:57 |
|
||
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
Костик ну что за билиберда - 00000:00038: Как на нее написать регексп? Если мы не знаем что там может быть еще. Какие символы e.t.c. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 19:19 |
|
||
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
kostik88в идеале хочется получить данные в таблице, вида: < 2014/07/08 14:40:36.37 Logon Login failed. User: vasia 192.16.0.5 2014/07/08 14:46:51.33 Logon Login failed. User: ivanov 192.20.1.107 > Найти в строке фрагмент '2014'. Удалить всё что до него. Удалить из строки кавычки. И всё... делов-то. Можно даже регэкспы не учить, ограничиться строковыми функциями, коих надо ровно три штуки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 19:24 |
|
||
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
Akinakostik88в идеале хочется получить данные в таблице, вида: < 2014/07/08 14:40:36.37 Logon Login failed. User: vasia 192.16.0.5 2014/07/08 14:46:51.33 Logon Login failed. User: ivanov 192.20.1.107 > Найти в строке фрагмент '2014'. Удалить всё что до него. Удалить из строки кавычки. И всё... делов-то. Можно даже регэкспы не учить, ограничиться строковыми функциями, коих надо ровно три штуки. Занятие увлекательное. А в тексте месседжа может встретится что угодно. В т.ч. и "User:"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 19:32 |
|
||
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
kostik88, Требуйте долива пива после отстоя пены спецификацию входных данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 19:57 |
|
||
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
Изопропил, это уже отфильтрованный фрагмент лог-файла. остальные строки содержат тоже самое, только с другими датами, логинами и ip, ну и время разное. всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 20:49 |
|
||
|
Помогите распарсить файлик!
|
|||
|---|---|---|---|
|
#18+
kostik88Парсить планировал средствами ms sql ИМХУ неподходящий инструмент для данной задачи. Проще написать на каком-нибудь алгоритмическом ЯП парсер, а результат его работы заливать в MS SQL, построчными insert`ами или пачками (bulk insert). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2015, 09:18 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38861143&tid=1341109]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 434ms |

| 0 / 0 |
