Script help


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Script help
# 1  
Old 11-01-2006
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
Smilie
# 2  
Old 11-01-2006
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.

Code:
$ 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.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question