cli-scripts/scripts/spchk

36 lines
949 B
Bash
Executable File

#!/usr/bin/env bash
function parseResults() {
oIFS=$IFS
IFS=":"
declare -a fields=($1)
export QUERYTERM=$(echo "${fields[0]}"|awk '{print $1}');
export LISTCOUNT=$(echo "${fields[0]}"|awk '{print $2}');
export WORDLIST=$(echo "${fields[1]}"|sed 's/^\s*\|\s*$//g');
IFS=$oIFS
unset oIFS
}
if [ $# -eq 0 ]; then
>&2 echo "Please provide a word for spell checking. Include quotes."
exit 1
fi
if [[ "$1" =~ ^[0-9]+$ ]]; then
cecho IWhite On_IRed "ERROR. Only Words Please. No Numbers!"
exit 1;
fi
export RESULT=$(echo "$@"|aspell -a|sed "1 d"); # Deletes the header line
export FIXED="${RESULT/& }" # Removes ampersand causing parsing errors.
if [[ "${FIXED}" == *"*"* ]]; then
cecho IBlack On_IGreen "CORRECT!"
else
parseResults "${FIXED}"
cecho IBlack On_IRed "INCORRECT!"
cecho IYellow On_Black "There are ${LISTCOUNT} suggested corrections for '${QUERYTERM}': ${WORDLIST}."
fi