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


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

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

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

Оффлайн _art_

  • Автор темы
  • Активист
  • *
  • Сообщений: 370
    • Просмотр профиля
Вопрос по заданию маски в 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

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

Оффлайн AnrDaemon

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

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

Оффлайн Azure

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

Оффлайн _art_

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

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

Оффлайн ReNzRv

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

Оффлайн AnrDaemon

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

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

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

Оффлайн _art_

  • Автор темы
  • Активист
  • *
  • Сообщений: 370
    • Просмотр профиля
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.*

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 1973
  • X-9000SC
    • Просмотр профиля
Re: Вопрос по заданию маски в grep
« Ответ #8 : 22 Ноябрь 2017, 14:22:15 »
и зачем усложнять?
grep -v "87.249.201.[0-9]"
M5A78L-M LX3 : AMD FX-4330 : 16 Gb RAM : AMD Radeon R7 260x
Samsung N150 : Intel Atom N450 : 2 Gb RAM : Intel GMA 3150

Оффлайн ReNzRv

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

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

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

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

Оффлайн ReNzRv

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

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

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

Оффлайн ReNzRv

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

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

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

 

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