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/
