Форум на Kuban.ru (http://forums.kuban.ru/)
-   Сети и их администрирование (http://forums.kuban.ru/f1029/)
-   -   Вопрос по выборке строк из лога (http://forums.kuban.ru/f1029/vopros_po_vyborke_strok_iz_loga-6042608.html)

SVA1978 29.08.2014 10:13

Вопрос по выборке строк из лога
 
ОС: Linux
Есть лог-файл openvpn: надо выбрать все строки определенной даты.
Каждая строка начинается с:
Fri Aug 29 10:29:08 2014 ...


Допустим я могу из текущей даты получить переменную tempdata вида "Fri Aug 29" и tempyear="нужный год", далее выполнить cat /path/to/log grep ^$tempdata | grep $tempyear

но это криво, т.к. вхождение значения года может быть в другом месте строки, а не начиная с 21-вой позиции строки.

Как лучше сделать?

40KHYTbIU 29.08.2014 10:26

cat /path/to/log | grep -e "Fri Aug 29 .* 2014"

cat /path/to/log | grep -P "Fri Aug 29 .{8** 2014"

Лаврентий 29.08.2014 12:47

хм, а find /.../ -name "что ищем" -mtime не пробовали?

genuimous 07.09.2014 12:18

Выгрузить лог в базу, а дальше по классике.

economist 07.09.2014 21:37

Или использовать бесплатный специнструмент для парсинга и анализа логов: Mirosoft Log Parser

economist 07.09.2014 21:40

точнее Miсrosoft Log Parser

SERGIUSF 08.09.2014 22:27

Учи регулярные выражения, на баше, перле можно накатать скриптецы

system32 09.09.2014 00:36

На PowerShell:
[quote]Get-Content C:\logs\mysuperlog.txt | where **$_ -like "*microsoft*"**[/quote]
выдаст все строки из текстового файла, содержащие слово microsoft в любом месте.
Вместо ** - открывающаяся фигурная скобка, почему-то движок форума криво парсит.

40KHYTbIU 09.09.2014 00:50

Чем дальше в лес, тем толще партизанэ. *FACEPALM*

v 12.09.2014 05:45

>Выгрузить лог в базу, а дальше по классике
Да че мелочится, можно просто через Splunk прогнать.


Текущее время: 08:51. Часовой пояс GMT +3.