我得到的任务是查看是否要发布IP地址列表(3000)。手动执行此操作不是一个好主意,因此我将所有要发布的IP地址复制到了文件中。现在,我只需要创建一个bash脚本并将ip地址列表输入脚本中,这样它就可以在文件中找到要发布的ip地址列表中的ip地址。如果找到,则将其保存在一个文件中(如果不在其他文件中)。到目前为止,这就是我所拥有的。这个脚本的问题是我必须手动输入每个IP地址。我如何将要搜索的带有IP地址列表的文件送入带有广告的IP地址列表的文件中。非常感谢您。
#!/bin/bash while true; do echo -e "IP address: \c" read ip if grep --color "$ip" "ips"; then echo $ip "was found" echo $ip >> found else echo $ip "was NOT found" echo $ip >> notFound fi done
更好的脚本:
while read ip do grep "$ip" "$ips" > /dev/null 2>&1 && echo "$ip" >> ip.found || echo "$ip" >> ip.notfound done
将脚本命名为“ searchip.sh” 假设您的输入文件是“ iplist”,设置变量并按如下所示调用:
ips=ips cat iplist | sh searchip.sh
要么
sh searchip.sh < iplist
然后,您将获得两个文件,一个文件是ip,另一个文件是ip。 您需要的是Shell I / O重定向。