なぜこれが一致するのか
.*\/.+\/wp-admin.*404
[03/Sep/2021:18:58:29 +0200] "GET /up/wp-admin/install.php HTTP/1.1" 404 6197
しかし、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