sed -E -e "s/$(aspell list <file | sort -u | paste -s -d'|' |
sed -e 's/^/\b(/; s/$/)\b/' )//g" \
file > newfile
Isso usa a substituição de comando $(...) para inserir a saída de aspell list <$file em uma operação de busca e substituição sed .
aspell também é única classificada e paste é usado para unir cada linha com | . Por fim, ele é enviado por meio de sed para adicionar \b âncoras de limite de palavras, além de abrir e fechar parênteses. Tudo o que constrói uma expressão regular estendida válida como \b(word1|word2|word3|...)\b para usar como o regexp de pesquisa no comando sed search and replace.
Você pode testar o resultado de todo o comando com, por exemplo, diff -u file newfile
AFAIK, aspell não tem um modo de correção automática. Esta é provavelmente uma boa coisa.