powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Ищу просмотрщик логов на сервере.
6 сообщений из 6, страница 1 из 1
Ищу просмотрщик логов на сервере.
    #39929532
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некоторая программа пишет лог примерно такого содержания:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
[
	Подробная информация об операции, много строк. 
]
время: 12:15:01 результат выполнения: Успешно.
[
	Подробная информация об операции, много строк. 
]
время: 12:17:59 результат выполнения: Ошибка.


Мне хочется, чтобы строки, заключенные в скобки по умолчанию не показывались, а на их месте был бы кнопочка с плюсиком, позволяющая их открыть в случае необходимости.
Может кто знает, существует ли готовая утилита, позволяющая смотреть логи в таком режиме? желательно консольная linux, но gui тоже подойдет.
...
Рейтинг: 0 / 0
Ищу просмотрщик логов на сервере.
    #39929601
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
man grep
...
Рейтинг: 0 / 0
Ищу просмотрщик логов на сервере.
    #39929726
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкин

Мне хочется, чтобы строки, заключенные в скобки по умолчанию не показывались, а на их месте был бы кнопочка с плюсиком, позволяющая их открыть в случае необходимости.
Может кто знает, существует ли готовая консольная утилита?


Лебедкин ,
существует.

Называется утилита view .

По сути это линк на Vim , работающего в режиме readonly .

Vim - редактор ориентированный на программистов, поэтому умеет сворачивать любые синтаксические конструкции.

Короче, вот такая команда реализует желаемое:

Код: powershell
1.
view -c 'g/^\[/norm zf%' yourfile.log



после её выполнения ты окажешься внутри редактора Vim с уже свёрнутым текстом и с плюсиками.
Навигация по свёрткам:
zj - вперёд
zk - назад
za - открыть свёрнутую либо свернуть открытую
zo - открыть свёртку
zc - закрыть свёртку

выход из vim: <ESC>:q!<ENTER>
...
Рейтинг: 0 / 0
Ищу просмотрщик логов на сервере.
    #39930041
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
man grep

Ну греп же умеет только фильтровать. Скрыть ненужные строки я им смогу, а открывать их в случае необходимости увидеть подробности - нет.
...
Рейтинг: 0 / 0
Ищу просмотрщик логов на сервере.
    #39930044
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodin661,

Поэкспериментировал. Вышеприведенная команда у меня, при использовании с view почему то не работает (не сворачивает блоки), а при использовании с vim всё работает как надо, блоки сворачиваются и по zo открываются.
Спасибо, возможно это как раз то, что я искал. Надо будет попробовать удобство работы на практике с большими файлами, объемом по несколько десятков мегабайт, разобраться как там поиск по несвернутому тексту делается, и т.п.
А что означает загадочное выражение: 'g/^\[/norm zf%' ? Первая часть, как я догадываюсь, регулярное выражение, ищущее открывающуюся квадратную скобку, а дальше что?
...
Рейтинг: 0 / 0
Ищу просмотрщик логов на сервере.
    #39930118
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкин,

раз уж начал, придётся пояснить.

внутри Vim живут несколько режимов работы, которые плавно переключаются один в другой и для каждого назначены свой набор
ключей:
Режимы Modes
  • нормальный Normal основной; активен по умолчанию
  • командный Command
  • вставки Insert
  • визуальный Visual
(( ну, это так, для общего развития ))

Пример ключей режима normal это как раз zj zk zo zc zf

При вызове же выражений из ком. строки с помощью
Код: powershell
1.
vim -c 'команды' -c 'команды' file.txt


режимом по умолчанию является командный режим, что является причиной появления в выражении слова normal ( см. ниже )

собственно разбор:

Код: powershell
1.
global /^\[/ normal zf%



команда global применяет поисковый шаблон / рег.выр / ко всему файлу и
в случае удачного совпадения отрабатывается команда, заданная за последним / .
в нашем случае это команда normal - переключение из ком. режима в нормальный и далее уже zf - создание свёртки ( fold )

осталось об'яснить %.

В команде zf после f ожидается задание движения. Например: zfj - строка вниз, zfk - строка вверх, zfG - вниз до конца файла, zfgg вверх до начала файла, zf% - до нахождения парной скобки; любой скобки. } или ) или ]. Кстати, вложенные скобки прекрасно отрабатываются.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Ищу просмотрщик логов на сервере.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]