On Thu, 9 Dec 2010, [email protected] wrote:

>> Taking everyone's suggestions into account, try this:
>>
>> (eval `for m in *.meta; do f=\`awk '/^Filter:/ { print $2; exit }' $m\`; 
>> echo -n "./$f -r \`basename $m .meta\` |"; done | sed -e "s/|$//"`) < input 
>> > output
>
> this doesn't work right.
>
> the filter scripts all create files that contain rules that match the
> filter, and then send the unknown lines to stdout
>
> the number of lines identified by each script match, but the number of
> lines in the output file is incorrect (it's missing a couple thousand
> lines out of ~80 thousand). doing a diff of the output doesn't show
> anything obvious about what's missing
>
> the following works correctly
>
> eval `echo -n "cat input | "; for file in *.meta ; do grep "^Filter: " $file 
> |head -1 |cut -f 2 -d " " |while read filter; do echo -n "./$filter -r 
> \"\`basename $file .meta\`\" -n -u | "; done; done; echo "cat >output"`

never mind, I found a bug in one of the filter scripts, it didn't properly 
handle everything without the -u

David Lang
_______________________________________________
Discuss mailing list
[email protected]
https://lists.lopsa.org/cgi-bin/mailman/listinfo/discuss
This list provided by the League of Professional System Administrators
 http://lopsa.org/

Reply via email to