vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| 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 |
| |||
| 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" <watk...@morningside.edu> 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 |
| ||||
| 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 |