How to read sequentially from a file in SH (not KSH)
    Mark Valentine 
    mark at spider.co.uk
       
    Mon Apr 29 20:53:29 AEST 1991
    
    
  
afc> while read VAR1 VAR2 < $FILENAME; do
afc>   echo $VAR1 $VAR2
afc> done
afc>
afc> but I keep reading the first line in the file over and over.  Nothing in
afc> the manual page seems to be usable in this situation.  How is this done
afc> under SH?  Is it possible?
mike> cat $FILENAME | while read VAR1 VAR2
mike> do echo $VAR1 $VAR2
mike> done
Sometimes this doesn't fit into the logic of a shell script.  In such cases
I find that something like following works nicely.
    exec 3< $FILENAME
    while read VAR1 VAR2 <&3
    do echo $VAR1 $VAR2
    done
This is especially handy if you have a couple of files you're reading
simultaneously in the body of the loop, or the conditional isn't based
on the read itself.
		Mark.
-- 
Mark Valentine, Spider Systems <mark at spider.co.uk>            /\oo/\
    
    
More information about the Comp.unix.shell
mailing list