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


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

Автор Тема: Вопрос по заданию маски в grep  (Прочитано 3881 раз)

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

Оффлайн _art_

  • Автор темы
  • Активист
  • *
  • Сообщений: 377
    • Просмотр профиля
Вопрос по заданию маски в grep
« : 09 Ноября 2017, 12:40:47 »
Привет,

есть алиас, который делает
cat /var/log/apache2/access.log | grep -v 87.249.205.252 | grep -v 185.9.200.26 | grep ...
как задать маску для адресов 87.249.201.* ?

Онлайн bezbo

  • Старожил
  • *
  • Сообщений: 1749
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #1 : 09 Ноября 2017, 13:07:43 »
cat /var/log/apache2/access.log | grep -e "87.249.201."оно?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #2 : 09 Ноября 2017, 17:20:35 »
_art_, забудьте о том, что у вас есть, напишите, что вам нужно.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #3 : 10 Ноября 2017, 10:02:17 »
AnrDaemon, в самую точку.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн _art_

  • Автор темы
  • Активист
  • *
  • Сообщений: 377
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #4 : 10 Ноября 2017, 11:45:38 »
Хочу исключить в выводе apachelog все адреса с 87.249.201.*

Однако "87.249.201." помогло.

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #5 : 10 Ноября 2017, 18:03:21 »
Шаблоны для исключения можно хранить в отдельном файле:
grep -vf список_исключений /var/log/apache2/access.log

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #6 : 10 Ноября 2017, 18:08:46 »
Хочу исключить в выводе apachelog все адреса с 87.249.201.*

Однако "87.249.201." помогло.
grep -vE "87\\.249\\.201\\.[0-9]+"
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн _art_

  • Автор темы
  • Активист
  • *
  • Сообщений: 377
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #7 : 22 Ноября 2017, 14:14:47 »
Хочу исключить в выводе apachelog все адреса с 87.249.201.*

Однако "87.249.201." помогло.
grep -vE "87\\.249\\.201\\.[0-9]+"
Так не работает. Все равно показывает адреса 87.249.201.*

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #8 : 22 Ноября 2017, 14:22:15 »
и зачем усложнять?
grep -v "87.249.201.[0-9]"
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #9 : 22 Ноября 2017, 17:20:40 »
Так не работает.
А так:
echo '87.249.201.1' | grep -vE "87\\.249\\.201\\.[0-9]+"?

лучше:
grep -v '87\.249\.201\.[0-9]\+'

"87.249.201.[0-9]"
Такой шаблон может совпасть не только ip адресом
т.к. неэкранирванная точка - любой символ.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #10 : 22 Ноября 2017, 18:23:23 »
Так не работает.
Значит, вы нам не всё сказали.

Пользователь добавил сообщение 22 Ноября 2017, 18:26:28:
Такой шаблон может совпасть не только ip адресомт.к. неэкранирванная точка - любой символ.
У него вызов grep без интерпретации регэкспов.
« Последнее редактирование: 22 Ноября 2017, 18:26:28 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #11 : 22 Ноября 2017, 18:43:31 »
У него вызов grep без интерпретации регэкспов.
$ echo '871249120111' | grep -v "87.249.201.[0-9]"
$ echo '87a249b201c1' | grep -v "87.249.201.[0-9]"

Оффлайн _art_

  • Автор темы
  • Активист
  • *
  • Сообщений: 377
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #12 : 23 Ноября 2017, 10:42:15 »
лучше:
grep -v '87\.249\.201\.[0-9]\+'
Тоже не работает.

Пользователь добавил сообщение 23 Ноября 2017, 10:42:40:
Значит, вы нам не всё сказали.
Я всё сказал... Я всё сказал.... (c)

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #13 : 23 Ноября 2017, 18:11:25 »
Тоже не работает.
Очень странно. Что за система?

echo 87.249.201.1 | grep -v '87\.249\.201\.[0-9]\+'выводит 87.249.201.1 ?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #14 : 23 Ноября 2017, 19:32:09 »
У вас слеш перед + лишний.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

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