Regex funktioniert nicht mit grep

Regex funktioniert nicht mit grep

Warum passt das

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

regexr.com

Aber in grep ist das nicht der Fall?

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

Ich weiß, dass die Zeile in diesem Ordner vorhanden ist. Wenn ich + durch * ersetze, funktioniert es.

Antwort1

Bei GNU grep müssen Sie das '+'-Zeichen mit einem Backslash maskieren. Können Sie das bitte versuchen?grep -rh ".*\/.\+\/wp-admin.*404" /var/log/apache2/ | wc -l

verwandte Informationen