Vincent1
@Vincent1

Как исключить слово в регулярном выражении?

Прохожусь грепом по логу и нужно посчитать только строки, которые не содержат ".xml", но содержат "Googlebot". Пробовал нечто вроде
^.*?(?!xml).*?Googlebot.*?$
но не работает как надо
spoiler
example.com:443 66.249.64.61 - - [29/Jan/2022:04:42:22 +0300] "GET / HTTP/1.0" 200 4433 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
example.com:443 66.249.64.47 - - [29/Jan/2022:04:47:45 +0300] "GET / HTTP/1.0" 200 6232 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
example.com:443 66.249.64.61 - - [29/Jan/2022:04:50:12 +0300] "GET / HTTP/1.0" 200 4433 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.70.74, 66.249.70.74 - - [29/Jan/2022:04:50:29 +0300] "GET /xml/s.xml HTTP/1.0" 200 1305 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
example.com:443 66.249.70.79 - - [29/Jan/2022:04:56:46 +0300] "GET / HTTP/1.0" 200 5540 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.70.74, 66.249.70.74 - - [29/Jan/2022:05:04:15 +0300] "GET /xml/s.xml HTTP/1.0" 200 1291 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
example.com:443 66.249.64.69 - - [29/Jan/2022:05:04:29 +0300] "GET / HTTP/1.0" 200 6271 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.70.76, 66.249.70.76 - - [29/Jan/2022:05:06:47 +0300] "GET /xml/s.xml HTTP/1.0" 200 1311 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.70.76, 66.249.70.76 - - [29/Jan/2022:05:07:06 +0300] "GET /xml/s.xml HTTP/1.0" 200 1273 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
^(?!.*?xml).*?Googlebot.*?$
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov
Помог ответ? Отметь решением.
Возможно я неправильно понял задачу

test.log
Googlebot.html
Googlebot.php
Googlebot.xml


Команда
cat test.log | grep Googlebot | grep -v xml

Результат
Googlebot.html
Googlebot.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект