Am 15.07.2014 01:51, schrieb Eliezer Croitoru:
On 07/15/2014 12:45 AM, Alexander Dalloz wrote:
It means that your script is not correct[1] and by error tries to load a helper module which does not exist. So fix your script.
[1] "cat | grep | awk" constructs are far from being elegant.
Alexander
I think that these are not too bad.. And you can use xargs instead of a for loop.
If you have another suggestion you can throw the one-liner here.
Eliezer
The OP's code snipplet:
blocks=$(cat $FILE | egrep -v '^;' | awk '{ print $1}') for ipblock in $blocks do $IPTABLES -A Spamhaus -s $ipblock -j DROP done
Running without the pipe construct because awk can do that all by itself (reading the source file and inverse greping):
while read ipblock do $IPTABLES -A Spamhaus -s $ipblock -j DROP done < <(awk '!/^;/ { print $1 }' $FILE)
Alexander