egrep question - Aix

This is a discussion on egrep question - Aix ; I have two files which have titles of books. I want to check the book titles in one file to see if the title is in the other file. The book titles have spaces, periods, etc. I wrote a script ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: egrep question

  1. egrep question

    I have two files which have titles of books.
    I want to check the book titles in one file to see if the title is in
    the other file.
    The book titles have spaces, periods, etc.

    I wrote a script but I am having a problem getting the title in a form
    to 'egrep' to the other file.
    Titles examples are like:
    Tom Sawyer
    Tale Of Two Cities


    Script is called "check.file.to.file" and is as follows
    and is run check.file.to.file name-of-file-1 name-of-file-2

    1
    2 if [ "$1" = "" ]
    3 then
    4 arg=0
    5 echo "No args..Args are file-name file-to-check"
    6 exit
    7 else
    8 arg=1
    9 file1=$1
    10 fi
    11
    12 if [ "$2" = "" ]
    13 then
    14 echo "Need 2nd argument for file-to-check"
    15 exit
    16 else
    17 file2=$2
    18 fi
    19
    20 # for name in `cat $file1 | cut -f1 -d' '`
    21
    22 for name in `cat $file1`
    23 do
    24
    25 # egrep -w $name $2 > /dev/null
    26 egrep $name $2 > /dev/null
    27 grepresult=$?
    28
    29
    30 if (($grepresult == 0))
    31 then
    32 echo $name " is IN "$2
    33 # egrep -w $name $2
    34 else
    35 echo $name " NOT in "$2
    36 fi
    37
    38 done

    Is seems the problem is at line 32. How do you make the $name
    variable in line 32
    quoted?

    Thanks,

    Denny Watkins
    Morningside College
    Phone: 712-274-5250

    Email: watkins@morningside.edu


  2. Re: egrep question

    Mistake...I think the problem is line 26.

    egrep $name $2 > /dev/null Need to somehow quote $name.



    On Feb 7, 8:11 am, "mside" wrote:
    > I have two files which have titles of books.
    > I want to check the book titles in one file to see if the title is in
    > the other file.
    > The book titles have spaces, periods, etc.
    >
    > I wrote a script but I am having a problem getting the title in a form
    > to 'egrep' to the other file.
    > Titles examples are like:
    > Tom Sawyer
    > Tale Of Two Cities
    >
    > Script is called "check.file.to.file" and is as follows
    > and is run check.file.to.file name-of-file-1 name-of-file-2
    >
    > 1
    > 2 if [ "$1" = "" ]
    > 3 then
    > 4 arg=0
    > 5 echo "No args..Args are file-name file-to-check"
    > 6 exit
    > 7 else
    > 8 arg=1
    > 9 file1=$1
    > 10 fi
    > 11
    > 12 if [ "$2" = "" ]
    > 13 then
    > 14 echo "Need 2nd argument for file-to-check"
    > 15 exit
    > 16 else
    > 17 file2=$2
    > 18 fi
    > 19
    > 20 # for name in `cat $file1 | cut -f1 -d' '`
    > 21
    > 22 for name in `cat $file1`
    > 23 do
    > 24
    > 25 # egrep -w $name $2 > /dev/null
    > 26 egrep $name $2 > /dev/null
    > 27 grepresult=$?
    > 28
    > 29
    > 30 if (($grepresult == 0))
    > 31 then
    > 32 echo $name " is IN "$2
    > 33 # egrep -w $name $2
    > 34 else
    > 35 echo $name " NOT in "$2
    > 36 fi
    > 37
    > 38 done
    >
    > Is seems the problem is at line 32. How do you make the $name
    > variable in line 32
    > quoted?
    >
    > Thanks,
    >
    > Denny Watkins
    > Morningside College
    > Phone: 712-274-5250
    >
    > Email: watk...@morningside.edu




  3. Re: egrep question

    watkins@morningside.edu says...
    > Mistake...I think the problem is line 26.
    >
    > egrep $name $2 > /dev/null Need to somehow quote $name.

    What's wrong with
    egrep "$name" $2 >/dev/null

    Or am I missing anything?
    Thorsten

+ Reply to Thread