BASH / AWK卡在循环中?

时间:2017-01-07 15:32:36

标签: bash awk

我无法弄清楚我做错了什么?我必须陷入某个地方的循环,但不明显的地方。 (对我而言)

没有收到任何挂在awk上的错误消息

当我列出ipset时,它正在做它想做的事情,所以我认为它从未找到EOF?

#! /bin/bash

clear

echo "Removing old list"
rm /config/bogons/bogonsv4.txt
rm /config/bogons/bogonsv6.txt
echo "Updating list from Team Cymru"
curl -o /config/bogons/bogonsv4.txt http://www.team-cymru.org/Services/Bogons/fu
curl -o /config/bogons/bogonsv6.txt http://www.team-cymru.org/Services/Bogons/fu
echo "clearing old bogon tables"
/sbin/ipset flush bogonsv4
/sbin/ipset flush bogonsv6
echo "Updating bogons"
awk '!/^#/ {cmd="/sbin/ipset add bogonsv4 " $1 " >> output";  system(cmd);} end{exit;}' bogonsv4.txt
awk '!/^#/ {cmd="/sbin/ipset add bogonsv6 " $1 " >> output";  system(cmd);} end{exit;}' bogonsv6.txt

exit

1 个答案:

答案 0 :(得分:0)

您应该调试代码。暂时通过以下方式替换awks:

awk '!/^#/ {cmd="/sbin/ipset add bogonsv4 " $1 " >> output"; print("running:",cmd); system(cmd)}' bogonsv4.txt > errs.txt
awk '!/^#/ {cmd="/sbin/ipset add bogonsv6 " $1 " >> output"; print("running:",cmd); system(cmd)}' bogonsv6.txt >> errs.txt

然后检查errs.txt文件。