2012-10-09 4 views
16

Ho alcuni file che desidero controllare ortograficamente. Normalmente li aprivo in vim, esegui :set spell e faccio le modifiche. È davvero tedioso aprire i file e controllare manualmente se ho sbagliato a scrivere qualsiasi parola dall'ultimo controllo, comunque.Come eseguire il controllo ortografico su più file e visualizzare eventuali parole errate nello script di shell?

Esiste un modo per eseguire un controllo ortografico su molti file e visualizzare tutte le parole digitate in modo errato, insieme al nome file, in modo che possa andare a modificarle? Non voglio aprire tutti i file, controllare se è "pulito", quindi aprire il successivo e ripetere.

Non riesco a trovare alcuna utilità di controllo ortografico POSIX. Alcune distribuzioni Linux basate su Red Hat hanno presumibilmente spell o simili, ma preferirei un metodo multipiattaforma (ish). Lo so vimpuò controllo ortografico - c'è qualche modo di controllo ortografico senza fare tutto manualmente? Sarebbe fantastico se potessi shell-scriptare una soluzione.

Sono in esecuzione OS X, per quello che vale.

risposta

20

È possibile installare aspell con Homebrew su OS X. brew info aspell elenca le lingue supportate.

brew install aspell --lang=en,fi,jp 

aspell check apre un file in un correttore ortografico interattivo:

for f in *.txt; do aspell check $f; done 

aspell list stampe tutte le parole non riconosciute:

cat *.txt | aspell list | sort -u 

parole apprese vengono memorizzati in .aspell.en.pws per impostazione predefinita. È inoltre possibile escludere le parole in ~/Library/Spelling/en dopo aver aggiunto personal_ws-1.1 en come prima riga.

aspell list --personal=$HOME/Library/Spelling/en 
3

Utilizzando aspell, questa stamperà ogni nome di file poi un elenco ordinato di parole errate insieme al numero di volte in cui si verificano:

for f in *.txt ; do echo $f ; aspell list < $f | sort | uniq -c ; done 
Problemi correlati