Shell Sript - Spell Checker Assign


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell Sript - Spell Checker Assign
# 8  
Old 11-14-2007
Okay - thanks for your help Pierre. I edited the code as to how you recommended and it works almost perfectly now. My only problem is this:


sh-3.1$ ./wordspell2 testfile
hellio is mispelled. Press Enter to keep spelling, or type a correction here: hello
whio is mispelled. Press Enter to keep spelling, or type a correction here: who
wheter is mispelled. Press Enter to keep spelling, or type a correction here: weather

CORRECTION INCORRECT
hello hellio
whio
wheter

for whatever reason my code only prints out the first correct word, the incorrect word, then the rest is just the incorrect word without the correct work next to it. Here is the script all over again - anything jumping out? Thanks!

Code:
#!/bin/bash
# script that will spell check a file

trap "echo You are trying to exit; exit" 2

array=`ispell -l -p "$HOME/memory.txt" < $1`

correct=()
incorrect=""
let counter=1
for i in ${array[@]}; do
        read -p "$i is mispelled. Press "Enter" to keep spelling, or type a correction here: " correction
        if [[ "$correction" = "" ]] ; then
                echo $i >> "$HOME/memory.txt"
        else
                correct[$counter]=$correction
                echo ${correct[$counter]}
        fi
counter+=1
done

echo "CORRECTION       INCORRECT"
let count=1
for i in ${array[@]}; do
        echo ${correct[$count]}              $i
        let count+=1
done


Last edited by ccfc1986; 11-14-2007 at 05:37 PM..
# 9  
Old 11-14-2007
I figured it out ... i was using let count+=1 instead of just count+=1.,..stupid mistake...

Now comes the hard parts....

Below is a run of my script (run through twice - once to spell check all the words in a file - then rerun to use the memory.txt file)


sh-3.1$ ./wordspell2 testfile
hellio is mispelled. Press Enter to keep spelling, or type a correction here: hello
whio is mispelled. Press Enter to keep spelling, or type a correction here: who
ege is mispelled. Press Enter to keep spelling, or type a correction here:
wheter is mispelled. Press Enter to keep spelling, or type a correction here: weather
1correct[*]
CORRECTION INCORRECT
hello hellio
who whio
ege ************************
weather wheter

The ege line should NOT print - this word is actually the name of my professor and therefore should be saved into the memory.txt file (which it does - but then NOT printed as part of the CORRECTION INCORRECT section).

Im assuming because of the use of the $array in the last part is the cause of this. Is there any way to get around this? Maybe use a second array and when the user enters a correction?

Any ideas? Im completely confused now - getting there though just need another little push!

Script as of now:

Code:
#!/bin/sh
# script that will spell check a file


trap "echo You are trying to exit; exit" 2

array=`ispell -l -p "$HOME/memory.txt" < $1`

correct=()
incorrect=""
let counter=1
for i in ${array[@]}; do
        read -p "$i is mispelled. Press "Enter" to keep spelling, or type a correction here: " correction
        if [[ "$correction" = "" ]] ; then
                echo $i >> "$HOME/memory.txt"
        else
                correct[$counter]=$correction
                #echo ${correct[counter]}
        fi
counter+=1
done

echo "CORRECTION       INCORRECT"
let count=1
for i in ${array[@]}; do
        echo ${correct[$count]}              $i
        count+=1
done

# 10  
Old 11-15-2007
I think... the line ege is actually
Quote:
echo ${correct[$count]} $i
but since $correct is empty for that index it in essence "becomes"
Quote:
echo $i
and leading spaces don't print.
Maybe You should have a check for emptyness like You did with the input? And only echo if $i is not empty.

/Lakris
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Debian

Getting a better spell checker

Guys I am new to Linux in general and want to know what is the use of the following files-: /usr/share/dict/words /usr/share/dict/words.pre-dictionaries-common Are they used by the spell checker to find potential typos ? If so are there any better larger word lists out there ? I am sure... (2 Replies)
Discussion started by: sreyan32
2 Replies

2. Shell Programming and Scripting

Help with Bash Shell Script Spell Checker program.

I have a majority of this problem done but seem to be struggling on the last couple of steps. Here is the whole problem to help you guys get a better understanding. Write a shell script that implements a simple spell checker. The filename you will use for your script will be your Z-id followed... (1 Reply)
Discussion started by: DsmRacer2k14
1 Replies

3. Shell Programming and Scripting

compare dates using shell sript

I have 2 date feilds 2011-05-13:18:45 2011-05-13:18:30 I need to compare them and say its OK/NOK I tried this but dint work. systime=2011-05-13:18:45 shubtime=2011-05-13:18:30 if then echo" OK" else echo "NOK" fi In this its not same so the o/p should be NOK (2 Replies)
Discussion started by: LavanyaP
2 Replies

4. Homework & Coursework Questions

spell checker script

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: When "niuspell" is invoked from the command line it reads "file" and checks it for spelling of the words it... (1 Reply)
Discussion started by: Jeffthrow5
1 Replies

5. Homework & Coursework Questions

Unix Spell Checker Assignment

hello, im a new member to the forum and im doing a assignment for unix command and we have to make a spell checker and im a little confused about the directions .. ill post them below and continue.. Northern Illinois University CSCI 330-Unix Command Write a shell script that implements a... (1 Reply)
Discussion started by: bravens52
1 Replies

6. Shell Programming and Scripting

Need your help for the spell checker in unix or python

Hi, Want to know is there any command to correct the spelling using unix or python? Unix command "spell" will give only the list of the incorrect words . But i want the output along with the corrected word . Thanks in advance (1 Reply)
Discussion started by: vini
1 Replies

7. Shell Programming and Scripting

convert the below perl sript to shell script

perl script: my $logdir = '/smp/dyn/logfiles/fsm/mp/mp'; $logdir = $logdir ."/mp${toDate}*"; i tried to make it..as below .. but not working .. date +%m%d%y logdir = /smp/dyn/logfiles/fsm/mp/mp logdir=$logdir/mp"$date" but it was not working..... can someone please help me out in... (1 Reply)
Discussion started by: mail2sant
1 Replies

8. UNIX for Dummies Questions & Answers

Shell Sript

Hi All, I have four different files in four different directories. Each file contains exactly the same format logincode Forename Surname TutGroup Mark Basically i want to grab all the marks from each file and put them onto the end of one login code by using a shell script. I can grab all... (3 Replies)
Discussion started by: jazz8146
3 Replies

9. Shell Programming and Scripting

spell checker program

2.I need shell script to list all the 'words' in a given file (text) that are not listed in a specified dictionary. Let us call this utility 'spell-check'. 'spell-check' will be called as follows. $ spell-check letter Lucent UNIX UNIX OS a $ dictionary words are listed in lower... (2 Replies)
Discussion started by: ksjanakan
2 Replies

10. Shell Programming and Scripting

Shell script syntax checker

I have a rather big script that i have written in ksh and it is falling over in two places with a 'test argument' error. I know this usually means that the if statement is not correct, but it is fine. I have looked through the rest of the script for any odd brackets or ` marks, but can't see... (2 Replies)
Discussion started by: handak9
2 Replies
Login or Register to Ask a Question