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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

surfer

  • Автор темы
  • Гость
Как сделать выборку из лога?
« : 10 Июль 2017, 18:07:21 »
Например, есть лог:
(Нажмите, чтобы показать/скрыть)
Как сделать выборку по последнему значению в строке, если оно больше заданного значения?

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 1811
  • X-9000SC
    • Просмотр профиля
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
45100

Оффлайн Azure

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

Оффлайн ALiEN175

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

Оффлайн ARTGALGANO

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

Оффлайн ReNzRv

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

awk '$NF >= 1000'
Помощь новичкам, написание скриптов на bash,sh,perl,awk (в ЛС)

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5467
  • 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.114 секунд. Запросов: 23.