searching for data

Class login cs342a37 at cs.iastate.edu
Sat Apr 13 04:34:08 AEST 1991


I am a new comer in writing shell scripts. I have the following problem:

I have a data file that I use as a key for searching my Master file. Both files are text files. Each line in the Master file is a record. Both files are sorted by the key. I would like to readaa line in the data file for the key, and then read scan the Master file for the line that contains the key and append that to a file.

I have the following script written:

cat datafile : ( while read line; do fgrep "$line" masterfile >> outputfile ; done )

This however, is very slow as I have about 2000 lines of key in my data file and about 10000 lines of records in my master file, and for each key I have to scan about 10000 lines.

Can I write a shell script to do the following:
read a line from masterfile
while more  key to read do
  read a line from data file
  while (key from masterfile < line from data file)
    read line from masterfile
  (end while)
  if line from masterfile contains key
    append to output file
  else
    append empty line to output file
  (endif)
(end while)








More information about the Comp.unix.shell mailing list