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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

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

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

surfer

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

Оффлайн ALiEN175

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

while read i; do if [[ $(echo "$i" | grep -o '[0-9]*$') -gt 1000 ]] ; then echo "$i" ; fi ; done < /file.log
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн Azure

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

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4309
  • Capture the truth
    • Просмотр профиля
Re: Как сделать выборку из лога?
« Ответ #3 : 10 Июль 2017, 19:38:01 »
Azure, ну 1000 все-таки частный случай. Вряд ли одной регуляркой можно выполнить задачу. (например, не 1000, а 128)
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн ARTGALGANO

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

Оффлайн ReNzRv

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

awk '$NF >= 1000'

Оффлайн Azure

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

 

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