Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Как сделать выборку из лога?  (Прочитано 264 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн surfer

  • Автор темы
  • Активист
  • *
  • Сообщений: 581
  • windows 8.1
    • Просмотр профиля
Как сделать выборку из лога?
« : 10 Июль 2017, 18:07:21 »
Например, есть лог:
(Нажмите, чтобы показать/скрыть)
Как сделать выборку по последнему значению в строке, если оно больше заданного значения?
LAMP на ubuntu server 16.04

чем больше узнаю linux, тем больше нравится windows

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 1052
    • Просмотр профиля
Re: Как сделать выборку из лога?
« Ответ #1 : 10 Июль 2017, 18:41:07 »
Больше 1000:

while read i; do if [[ $(echo "$i" | grep -o '[0-9]*$') -gt 1000 ]] ; then echo "$i" ; fi ; done < /file.log
415243484c494e5558

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5126
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Re: Как сделать выборку из лога?
« Ответ #2 : 10 Июль 2017, 20:22:58 »
Больше 1000:
и равноgrep '\b[0-9]\{4,\}\s*$' file.log
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 1052
    • Просмотр профиля
Re: Как сделать выборку из лога?
« Ответ #3 : 10 Июль 2017, 20:38:01 »
Azure, ну 1000 все-таки частный случай. Вряд ли одной регуляркой можно выполнить задачу. (например, не 1000, а 128)
415243484c494e5558

Оффлайн ARTGALGANO

  • Старожил
  • *
  • Сообщений: 1011
    • Просмотр профиля
Re: Как сделать выборку из лога?
« Ответ #4 : 10 Июль 2017, 20:47:26 »
awk '{if ($10 >= 1000) print $0}'??

Оффлайн renzrv

  • Старожил
  • *
  • Сообщений: 1674
    • Просмотр профиля
Re: Как сделать выборку из лога?
« Ответ #5 : 10 Июль 2017, 21:51:57 »
по последнему значению в строке

awk '$NF >= 1000'

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5126
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Re: Как сделать выборку из лога?
« Ответ #6 : 10 Июль 2017, 22:28:38 »
например, не 1000, а 128)
Конечно не все, но можно подобрать более-менее составную регулярку'[0-9]\{4,}\|[2-9][0-9][0-9]\|1[3-9][0-9]\|129'
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.158 секунд. Запросов: 23.