这是我通常用来规范化数据的方法,但它不起作用。我只需要保留 IP,每行一个 IP,其他一切都必须删除。我在 .sh shell 脚本中使用它。
grep -oE '[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+(/[0-9]+[^\# ]+)?' |\
sort -V | uniq >> ipban/threat-50.txt
# Format: IP # ThreatLevel ThreatLevel Timestamp CountryCode
104.218.166.164 # 100 2023-01-20T01:33:10Z VN
61.240.137.169 # 100 2023-01-27T00:35:06Z CN
42.119.111.155 # 100 2023-01-20T00:25:25Z VN
190.137.180.107 # 100 2023-01-09T03:28:00Z AR
答案1
创建一个名为 input.txt 的文件,其中包含您下载的以下示例数据。
# Format: IP # ThreatLevel ThreatLevel Timestamp CountryCode
104.218.166.164 # 100 2023-01-20T01:33:10Z VN
61.240.137.169 # 100 2023-01-27T00:35:06Z CN
42.119.111.155 # 100 2023-01-20T00:25:25Z VN
190.137.180.107 # 100 2023-01-09T03:28:00Z AR
运行以下命令创建名为“threat-50.txt”的文件,并将唯一 IP 的输出列表附加到“threat-50.txt”:
touch threat-50.txt
cat input.txt | grep -oE '[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+(/[0-9]+[^\# ]+)?' | sort -V | uniq >> threat-50.txt
结果cat threat-50.txt
:
42.119.111.155
61.240.137.169
104.218.166.164
190.137.180.107