mirror of https://github.com/tLDP/LDP
45 lines
1.1 KiB
Bash
45 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# lookup: Does a dictionary lookup on each word in a data file.
|
|
|
|
file=words.data # Data file from which to read words to test.
|
|
|
|
echo
|
|
echo "Testing file $file"
|
|
echo
|
|
|
|
while [ "$word" != end ] # Last word in data file.
|
|
do # ^^^
|
|
read word # From data file, because of redirection at end of loop.
|
|
look $word > /dev/null # Don't want to display lines in dictionary file.
|
|
# Searches for words in the file /usr/share/dict/words
|
|
#+ (usually a link to linux.words).
|
|
lookup=$? # Exit status of 'look' command.
|
|
|
|
if [ "$lookup" -eq 0 ]
|
|
then
|
|
echo "\"$word\" is valid."
|
|
else
|
|
echo "\"$word\" is invalid."
|
|
fi
|
|
|
|
done <"$file" # Redirects stdin to $file, so "reads" come from there.
|
|
|
|
echo
|
|
|
|
exit 0
|
|
|
|
# ----------------------------------------------------------------
|
|
# Code below line will not execute because of "exit" command above.
|
|
|
|
|
|
# Stephane Chazelas proposes the following, more concise alternative:
|
|
|
|
while read word && [[ $word != end ]]
|
|
do if look "$word" > /dev/null
|
|
then echo "\"$word\" is valid."
|
|
else echo "\"$word\" is invalid."
|
|
fi
|
|
done <"$file"
|
|
|
|
exit 0
|