in reply to Extracting data from a messy file (slow performance)

Sub-processes cost time in shell scripts - try using a case instead of the multiple if [...] statements - case is a built-in and is thus far faster than the sub-processes necessary to execute if [...].

Maybe something (untested) along the lines of...

>$1.out unset stat int cpu scpu echo "Starting rebuild of $1 into $1.out" while read line ; do case $line in END) cpu=`expr $cpu / 60` # Write data line echo "$int,$cpu" >>$1.out unset stat int cpu scpu rec=`expr $rec + 1` echo "`date`:Wrote record: $rec" ;; *GMT | \ *SAST) int=`echo $line|cut -c12-16` ;; vmstat\ 2\ 60:) stat=1 ;; procs |\ avm) : ;; *) scpu=`echo $line | awk '{ print $16 "+" $17 }'|bc` cpu=`expr $cpu + $scpu` ;; esac done < $1 echo "Complete!"

HTH ,

A user level that continues to overstate my experience :-))