The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #2 (permalink)  
Old 04-25-2009
durden_tyler's Avatar
durden_tyler durden_tyler is offline Forum Advisor  
Registered User
  
 

Join Date: Apr 2009
Posts: 521
Maybe something like this:

Code:
$ 
$ # display the file "num" that has floating-point numbers, one per line
$                                                                    
$ cat num                                                            
2.1                                                                  
3.4                                                                  
4.6                                                                  
5.2                                                                  
6.3                                                                  
$
$ # display the script
$
$ cat test_scr.sh
#!/bin/bash
NUMFILE=$1
total=0
if [ -c $NUMFILE ]
then
  echo "Our input is from a Device"
  while read LINE; do
    total= `echo $total + $LINE | bc`
  done < $NUMFILE
elif [ -p $NUMFILE ]
then
  echo "Our input is from a pipe"
  while read LINE; do
    total= `echo $total + $LINE | bc`
  done < $NUMFILE
elif [ -f $NUMFILE ]
then
  echo "Our input is from a file"
  while read LINE; do
    total=`echo $total + $LINE | bc`
  done < $NUMFILE
fi
echo total is $total
$
$ # test the script, passing "num" as input
$
$ . test_scr.sh num
Our input is from a file
total is 21.6
$
$
HTH,
tyler_durden