我在使用MySQL时遇到了麻烦;它会提取额外数据。 我有一个包含IP和主机的数据库:
ips host
127.0.0.1 host1.exampl.com
127.0.0.2 host2.exampl.com
127.0.0.3 host3.exampl.com
127.0.0.4 host4.exampl.com
127.0.0.5 host5.exampl.com
接下来,我有一个文件ips.txt
:
127.0.0.2
127.0.0.4
我有一个bash脚本:
for i in `cat ips.txt` ; do echo "ip, host from ip_group_list where ip like '%$i%' GROUP BY ip" | mysql -uroot -p$PSSWD database -N >> ipsandhost.txt; done
我希望它返回
127.0.0.2 host2.exampl.com
127.0.0.4 host4.exampl.com
然而它会返回
127.0.0.1 host1.exampl.com
127.0.0.2 host2.exampl.com
127.0.0.3 host3.exampl.com
127.0.0.4 host4.exampl.com
127.0.0.5 host5.exampl.com
任何建议?
答案 0 :(得分:0)
你既不需要%%也不需要GROUP BY
for i in `cat ips.txt` ; do
echo "SELECT ip, host from ip_group_list where ip = '$i'" | mysql -uroot -p$PSSWD database -N >> ipsandhost.txt;
done