Script help

I am running this script and it keeps report a count of 6 less than what is manually totaled. How can I make the script -6 or give an accurate count of what the number is when manually added?

$CONMAN sj HCSCPROD@#@.@ > $MYHOME/hcscprod_job_totals
$CONMAN sj HCNCPROD@#@.@ > $MYHOME/hcncprod_job_totals
$CONMAN sj KTAZP@#@.@ > $MYHOME/ktazp_job_totals
$CONMAN sj KTAZD@#@.@ > $MYHOME/ktazd_job_totals
$CONMAN sj KTAZI@#@.@ > $MYHOME/ktazi_job_totals
$CONMAN sj KTAZQ@#@.@ > $MYHOME/ktazq_job_totals
cat $MYHOME/hcscprod_job_totals | wc -l > no_file
cat $MYHOME/hcncprod_job_totals | wc -l >> no_file
cat $MYHOME/ktazp_job_totals | wc -l >> no_file
cat $MYHOME/ktazd_job_totals | wc -l >> no_file
cat $MYHOME/ktazi_job_totals |wc -l >> no_file
cat $MYHOME/ktazq_job_totals |wc -l >> no_file
print "hcscprod_job_totals" >> $MYHOME/hcscprod_job_totals | more $MYHOME/hcscp
rod_job_totals|wc -l "hcscprod_job_totals"
print "hcncprod_job_totals" >> $MYHOME/hcncprod_job_totals | more $MYHOME/hcncp
rod_job_totals |wc -l "hcncprod_job_totals"
print "ktazp_job_totals" >> $MYHOME/ktazp_job_totals |more $MYHOME/ktazp_job_tot
als |wc -l "ktazp_job_totals"
print "ktazd_job_totals" >> $MYHOME/ktazd_job_totals | more $MYHOME/ktazd_job_to
tals|wc -l "ktazd_job_totals"
print "ktazi_job_totals" >> $MYHOME/ktazi_job_totals | more $MYHOME/ktazi_job_to
tals|wc -l "ktazi_job_totals"
print "ktazq_job_totals" >> $MYHOME/ktazq_job_totals | more $MYHOME/ktazq_job_to
tals|wc -l "ktazq_job_totals"
awk ' {for (i=1; i<=NF; i++) s=s+$i} ; END {print s} ' no_file

3240 hcscprod\_job_totals
1781 hcncprod\_job_totals
5421 ktazp\_job_totals
4792 ktazd\_job_totals
1367 ktazi\_job_totals
  28 ktazq\_job_totals

16623
:confused:

You are counting the lines in a file. Then you add a line. Then you display the new count. Then you add up the old counts.

$ echo "one
> two
> three" > file
$ cat file
one
two
three
$ cat file | wc -l
       3
$ print "extra total line that the above wc missed somehow"  >> file  | more file | wc -l
       4

Counting the lines in a file twice will slow you down at best. It is really bad that you recount after adding a line. And look at that pipeline. It doesn't make sense. The print statement is redirected to a file so it has nothing to feed into "more". And "more" will open a file in this case and ignore stdin anyway.

Rather than "cat file | wc -l", use just:
wc -l < file
By redirecting the input, the shell opens the file rather than wc opening the file. So wc will not display the filename. Try to do this once and use the same count in both places.