正規表示式不能與 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

相關內容