Sponsored Content
Homework and Emergencies Homework & Coursework Questions Unix Spell Checker Assignment Post 302468468 by bravens52 on Wednesday 3rd of November 2010 05:47:59 PM
Old 11-03-2010
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 simple spell checker. The general format for invocation is:
niuspell file
where "niuspell" is the name of the executable file that contains your shell script, and "file" refers to the file to be checked word-by-word for spelling. Your are encouraged to take advantage of the "ispell -l" command. It produces a list of misspelled words from standard input.
Specification:

When "niuspell" is invoked from the command line it reads "file" and checks it for spelling of the words it contains. For each word that is found to be incorrect, the invoker is asked for either:
  • to insist on the spelling of the word.
  • to provide a replacement spelling
If the invoker insists on the spelling of the word, then niuspell will remember it. niuspell remembers words in the file ".niuspelled" in the invoker's home directory. Any further invocation of niuspell by the same invoker will consider the word to be correct. Otherwise, the invoker is prompted for a replacement spelling. As output, niuspell produces a 2-column-ed list of words, the left column lists incorrectly spelled words, the right column lists their replacement as given by the invoker. The list is produced after the invoker has answered to all incorrectly spelled words.
Here is an example of an invocation of the niuspell script with a testfile:



ok so i made 2 separate files one called niuspell and one called testfile. My test file I have is a random paragraph that has a few misspelled words. My niuspell file i am confused on how i set it up. I started with my #! /bin/bash and im stuck. Could anyone give me a hint on how i move forward.

---------- Post updated 11-03-10 at 04:47 PM ---------- Previous update was 11-02-10 at 07:51 PM ----------

can anyone please help

The output my teacher gave us:

% ls
testfile niuspell
% cat testfile
I was going about my business quite nicely
when I was acosted by the mail man
whio insisted that my name is Raimund Ege
but I did not believe him
% ./niuspell testfile

'acosted' is mispelled. Press "Enter" to keep
this spelling, or type a correction here: accosted

'whio' is mispelled. Press "Enter" to keep
this spelling, or type a correction here: who

'Raimund' is mispelled. Press "Enter" to keep
this spelling, or type a correction here:

'Ege' is mispelled. Press "Enter" to keep
this spelling, or type a correction here:

MISPELLED: CORRECTIONS:

acosted accosted
whio who

% ./niuspell testfile

'acosted' is mispelled. Press "Enter" to keep
this spelling, or type a correction here: accosted

'whio' is mispelled. Press "Enter" to keep
this spelling, or type a correction here: who

MISPELLED: CORRECTIONS:

acosted accosted
whio who

% cat ~/.niuspelled
Raimund
Ege
% cat testfile
I was going about my business quite nicely
when I was acosted by the mail man
whio insisted that my name is Raimund Ege
but I did not believe him
 

10 More Discussions You Might Find Interesting

1. 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

2. UNIX for Advanced & Expert Users

spell

Hi, I found the following line in a shell script. $spell -a < $filename | \ grep -v '@(#)' | sed "s/\'//g" | \ awk '{ if (length($0) > 15 && length($2) > 2) print $2 }' | \ grep -vif $okaywords | \ grep ']' | grep -v ']' | sort -u | \ sed 's/^/ /' > $tempout can... (2 Replies)
Discussion started by: ravi raj kumar
2 Replies

3. Shell Programming and Scripting

Shell Sript - Spell Checker Assign

Hi Folks. I am currently working on a script that has to spell check a file and print the output to the screen in 2 columns like this. INCORRECT CORRECTION whio who weahter weather The file will allow the user to override the ispell command and save any... (9 Replies)
Discussion started by: ccfc1986
9 Replies

4. UNIX for Dummies Questions & Answers

Unix Assignment, need help!

I have been working on this for the past hour and I can not figure it out :( What command would you give to produce a listing of the names of all the text files in ~/UnixCourse or its subdirectories (possibly nested several layers deep) followed immediately by the first line of text within that... (10 Replies)
Discussion started by: gordonheimer
10 Replies

5. 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

6. Homework & Coursework Questions

UNIX- Database creating/viewing/updating assignment

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: I have posted the assignment below, I am new to unix programming and am having a very hard time knowing where... (5 Replies)
Discussion started by: student1989
5 Replies

7. 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

8. 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

9. 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

10. UNIX for Dummies Questions & Answers

UNIX assignment or value returns

Hi Folks, In UNIX, I am quite confused on how to use or when to use ${} $() $ . For Example , if i use variable called "i" then when do i use, ${i} $(i) $i or sometime with arithmetic operations $(i+1) like this or ${i}+1 quite confused... Please help... ... (1 Reply)
Discussion started by: Nandy
1 Replies
Spell(3pm)						User Contributed Perl Documentation						Spell(3pm)

NAME
Pod::Spell -- a formatter for spellchecking Pod SYNOPSIS
% podspell Thing.pm | ispell or if you don't have a podspell: % perl -MPod::Spell -e "Pod::Spell->new->parse_from_file(shift)" Thing.pm |spell |fmt or: % perl -MPod::Spell -e "Pod::Spell->new->parse_from_filehandle" ...which takes POD on STDIN and sends formatted text to STDOUT ...or instead of piping to spell or ispell, use ">temp.txt", and open temp.txt in your word processor for spell-checking. DESCRIPTION
Pod::Spell is a Pod formatter whose output is good for spellchecking. Pod::Spell rather like Pod::Text, except that it doesn't put much effort into actual formatting, and it suppresses things that look like Perl symbols or Perl jargon (so that your spellchecking program won't complain about mystery words like "$thing" or ""Foo::Bar"" or "hashref"). This class provides no new public methods. All methods of interest are inherited from Pod::Parser (which see). The especially interesting ones are "parse_from_filehandle" (which without arguments takes from STDIN and sends to STDOUT) and "parse_from_file". But you can proba- bly just make do with the examples in the synopsis though. This class works by filtering out words that look like Perl or any form of computerese (like "$thing" or ""N>7"" or ""@{$foo}{'bar','baz'}"", anything in C<...> or F<...> codes, anything in verbatim paragraphs (codeblocks), and anything in the stopword list. The default stopword list for a document starts out from the stopword list defined by Pod::Wordlist, and can be supplemented (on a per-document basis) by having "=for stopwords" / "=for :stopwords" region(s) in a document. ADDING STOPWORDS
You can add stopwords on a per-document basis with "=for stopwords" / "=for :stopwords" regions, like so: =for stopwords plok Pringe zorch snik !qux foo bar baz quux quuux This adds every word in that paragraph after "stopwords" to the stopword list, effective for the rest of the document. In such a list, words are whitespace-separated. (The amount of whitespace doesn't matter, as long as there's no blank lines in the middle of the para- graph.) Words beginning with "!" are deleted from the stopword list -- so "!qux" deletes "qux" from the stopword list, if it was in there in the first place. Note that if a stopword is all-lowercase, then it means that it's okay in any case; but if the word has any capital letters, then it means that it's okay only with that case. So a wordlist entry of "perl" would permit "perl", "Perl", and (less interest- ingly) "PERL", "pERL", "PerL", et cetera. However, a wordlist entry of "Perl" catches only "Perl", not "perl". So if you wanted to make sure you said only "Perl", never "perl", you could add this to the top of your document: =for stopwords !perl Perl Then all instances of the word "Perl" would be weeded out of the Pod::Spell-formatted version of your document, but any instances of the word "perl" would be left in (unless they were in a C<...> or F<...> style). You can have several "=for stopwords" regions in your document. You can even express them like so: =begin stopwords plok Pringe zorch snik !qux foo bar baz quux quuux =end stopwords If you want to use E<...> sequences in a "stopwords" region, you have to use ":stopwords", as here: =for :stopwords virtE<ugrave> ...meaning that you're adding a stopword of "virtu". If you left the ":" out, that'd mean you were adding a stopword of "virtE<ugrave>" (with a literal E, a literal <, etc), which will have no effect, since any occurrences of virtE<ugrave> don't look like a normal human- language word anyway, and so would be screened out before the stopword list is consulted anyway. USING Pod::Spell My personal advice: o Write your documentation in Pod. Pod is described in perlpod. And perlmodstyle has some advice on content. This is the stage where you want to make sure you say everything you should, have good and working examples, and have coherent grammar. o Run it through podchecker. This will report all sorts of problems with your Pod; you may choose to ignore some of these problems. Some, like "*** WARNING: Unknown entity E<qacute>...", you should pay attention to. o Once podchecker errors have been tended to, spellcheck the pod by running it through podspell / Pod::Spell. For any misspellings that are reported in the Pod::Spell-formatted text, fix them in the original. Repeat until there's no complaints. o Run it through podchecker again just for good measure. SEE ALSO
Pod::Wordlist Pod::Parser podchecker also known as Pod::Checker perlpod, perlpodspec HINT
If you feed output of Pod::Spell into your word processor and run a spell-check, make sure you're not also running a grammar-check -- because Pod::Spell drops words that it thinks are Perl symbols, jargon, or stopwords, this means you'll have ungrammatical sentences, what with words being missing and all. And you don't need a grammar checker to tell you that. COPYRIGHT AND DISCLAIMER
Copyright (c) 2001 Sean M. Burke. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The programs and documentation in this dist are distributed in the hope that they will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. AUTHOR
Sean M. Burke "sburke@cpan.org" perl v5.8.8 2001-10-27 Spell(3pm)
All times are GMT -4. The time now is 04:01 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy