簡體   English   中英

使用Whois遍歷具有IP地址的文件

[英]Using Whois to iterate through file with ip addresses

到目前為止,我有一個腳本,該腳本可以獲取訪問我的網站的IP地址:

sudo awk '{ print $1 } ' /var/log/httpd/access_log | sort | uniq > ~/bad_ips.out

我正在嘗試使用whois遍歷這些ip地址,並使用ip來自的唯一國家/地區列表重寫為初始文件。

我可以像這樣單獨進行操作:

whois -l 93.94.186.228 | grep 'country'
whois -l 93.94.186.228 | grep 'country' | awk '{print $2}'

但是我不確定如何遍歷文件中的每一個,任何幫助將不勝感激

xargs可能符合您的條件。 它基本上為傳遞給其stdin的每一行運行給定命令。 您可以在man xargs查看更多詳細信息。

您還可以通過使用-u選項sort和使用awk本身來匹配模式country來減少管道中的命令。

這將滿足您的要求:

awk '{print $1} ' /var/log/httpd/access_log | sort -u | xargs whois -l |  awk '/country/{print $2}'

如果每個條目都在換行符上,則可以使用while循環:

#! /bin/bash

while read line
do
    echo $line
done < $1

像這樣使用腳本:

./nameOfScript fileWithIps.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM