I have a large text file, containing many miss/bad-spelled English words. I'm looking for a way to edit this file using a command-line spell checker in Linux. I found some ways to do this, But according to my searches all of them work in an interactive manner. I mean, seeing a miss/bad-spelled word, they suggest some corrections to the user and he/she should choose one of them. Since my file is rather large, and contains many wrong words, I can't edit it in this manner. I am looking for a way to tell the spell-checker that replace all the wrong words using the first candidate. Is there any way to do this? does (a/hun)spell have any option for doing so?
Regards.
You can experiment with commands like these:
or:
But keep in mind that the results can be poor even for simple things:
It seems to be even worse with aspell so probably it's better to go with ispell.
You need the
script
command because some commands like ispell doesn't want to be scripted. Normally you would pipe the output ofyes 0
to a command to simulate hitting the "0" key all the time but some commands detect being scripted and refuse to cooperate:Fortunately they can be fooled with the
script
command:You can use other file than /dev/null to log the output:
If you don't need it to replace every wrong word, but simply point out the errors and print suggestions in a non-interactive manner, you can use ispell:
I'm unfortunately not aware of any standard Linux utility that does what you're requesting from the command line, although the emacs suggestion in the comments above comes close.