2015-12-12 56 views
0

拼寫檢查多個文本文件。如何從ispell或aspell獲取類似編譯器的消息

具有形式爲「海灣合作委員會」的輸出端產生的:

intro/main.txt:12:     'hierarchie' -- orthograph 
    concepts/detail/experiment.txt:12: 'propper' -- orthograph 

是一個「待辦事項」列表中的一個很好的形式化描述。此外,它還可以通過vim和emacs等IDE進行拼寫檢查。他們可以解析這些內容並在按下按鈕時跳到焦點位置。

我想在多個文本文件上運行ispell/aspell,並以類似編譯器錯誤的方式生成錯誤列表。

回答

1
for file in $(find . -name "*.tex" -type f); \ 
    do for word in $(cat $file | aspell list); \ 
    do grep -sHIno "\b$word\b" $file \ 
     | sort -u; 
    done; 
    done > tmp.log 

也就是說,第一個循環遍歷所關注的文件 - 這裏是目錄子樹中的「.tex」文件。嵌套for循環遍歷'aspell'抱怨的單詞。 'grep'命令查詢行號並生成編譯式消息。選項'-o'僅打印匹配的部分,即拼寫錯誤的單詞。 'sort -u'確保一行中的兩個錯誤不會產生雙重輸出。

重定向到'> tmp.log',將vim設置爲'set makeprg = cat',然後使用':make tmp.log'可以方便地跨越文檔中的所有拼寫錯誤。

歡迎任何評論。