정규식은 grep과 작동하지 않습니다

정규식은 grep과 작동하지 않습니다

이게 왜 일치하지?

.*\/.+\/wp-admin.*404
[03/Sep/2021:18:58:29 +0200] "GET /up/wp-admin/install.php HTTP/1.1" 404 6197

regexr.com

하지만 grep에서는 그렇지 않습니까?

sudo grep -rh ".*\/.+\/wp-admin.*404" /var/log/apache2/ | wc -l
0

해당 폴더에 줄이 존재한다는 것을 알고 있습니다. +를 *로 바꾸면 작동합니다.

답변1

GNU grep을 사용하면 '+' 문자를 백슬래시로 이스케이프해야 합니다. 이것을 시도해 볼 수 있나요?grep -rh ".*\/.\+\/wp-admin.*404" /var/log/apache2/ | wc -l

관련 정보