Files

如何為 grep 提供一個包含要在 access.log 中查找的 IP 地址的文件

  • June 26, 2022

情況

我有一個文件,其中每一行都有一個 IP 地址,我想看看這些 Ip 是否在access.log

文件名:IP地址

內容範例:

192.168.0.1
192.168.0.2
192.168.1.5
etc etc

現在我想掃描 access.log 中包含在文件 IpAddressess 中的這些 IP 地址

我可以grep為此使用命令嗎?命令結構是什麼樣的?

感謝您的任何幫助!

您正在尋找-f選項,在man grep我的 Arch Linux 系統中描述為:

  -f FILE, --file=FILE
         Obtain patterns from FILE, one per line.   If  this  option  is
         used  multiple  times  or  is  combined  with the -e (--regexp)
         option, search for all patterns given.  The empty file contains
         zero patterns, and therefore matches nothing.

但是,由於grep適用於正則表達式並且.在正則表達式中表示“任何字元”,因此您還需要該-F選項,因此它與以下1.2.3內容不匹配10293

  -F, --fixed-strings
         Interpret PATTERNS as fixed strings, not regular expressions.

將兩者放在一起,您要查找的命令是:

grep -Ff IpAddressess access.log

引用自:https://unix.stackexchange.com/questions/707599