#!/bin/sh # Speed up the log resolving by running several instances of # webresolve in parallel. # Run like so: # # splitwr logfile > logfile.resolved # Set this to something sensible PROCESSES=20 test -n "$1" || exit test -s "$1" || exit LINES=`wc "$1" | awk '{print $1}'` XX=`echo "$LINES/($PROCESSES-1)" | bc` rm -rf x.* r.* lock mkdir lock split -$XX "$1" x. for f in x.*; do (touch lock/$f webresolve < $f > r.$f rm $f rm lock/$f rmdir lock ) 2> /dev/null & done # Now wait for all webresolvers to finish while test -d lock; do sleep 10 done for f in r.*; do cat $f rm $f done