Linux
如何使linux sed命令找到匹配的ip地址
在我的 Linux 系統中,執行
listdata.sh
輸出:{ "111.111.111.111:11957": 1, "222.222.222.222:9999": 1, "333.333.333.333:9999": 1, "[::]:0": 1, "444.444.444.444:9999": 1, "d6iiugkkjfgt3kt2z.onion:47500": 1, "555.555.555.555:11957": 1, "666.666.666.666:9999": 1, "nv52misrzsuyre6.onion:47509": 1, "777.777.777.777:9999": 1, ":9999": 1, "[::]:0": 1 }
如果我的 ip 是
222.222.222.222
我需要在執行 linux 命令時檢查。
“一些命令”“222.222.222.222”“如果找到我的 ip”什麼也不做“如果沒有找到”“做某事”
數據列表有時也轉到地址有時顯示 IPv6
如果您的 IP 地址 222.222.222.222 未找到,您可以編寫
bash
如下腳本:#!/bin/bash listdata.sh | grep "\"222\.222\.222\.222:" > /dev/null if [ $? -ne 0 ] # if grep not successful then ... do some actions fi
謝謝@Rui F Ribeiro 這是我最後的腳本
#!/bin/bash listdata.sh | grep "\"222.222.222.222:" > /dev/null if [ $? -ne 0 ] # if grep not successful then addIPtolist.sh > /dev/null echo "`date -u` Not in list" >> /var/log/listdata.log exit fi echo "`date -u` OK Still in list" >> /var/log/listdata.log
這是我的循環 bash
#!/bin/bash while true do listdata.sh sleep 60 done