拼写检查:从Unix原型到awk实现
1. 拼写检查概述
拼写检查是一个有趣且具有挑战性的问题,有超过300篇研究论文和书籍都围绕它展开。在处理文本时,拼写检查能帮助我们发现并纠正错误,提高文本质量。下面我们将从不同角度探讨拼写检查的实现方式。
2. 原始Unix拼写检查原型
1975年,Steve Johnson在一个下午就写出了第一个版本的 spell 程序。后来,Kernighan和Plauger将其重构为一个Unix管道,用现代术语表述如下:
prepare filename |
tr A-Z a-z |
tr -c a-z '\n' |
sort |
uniq |
comm -13 dictionary -
这个管道的具体步骤如下:
1. prepare :这是一个过滤器,用于去除文档中的标记。在最简单的情况下,它就是 cat 命令。
2. tr A-Z a-z :将所有大写字母转换为小写字母。
3. tr -c a-z '\n' :去除标点符号,将每个单词分隔成一行。
4. sort :将单词按字母顺序排列。
5. uniq :去除重复的单词。
6. comm -13 dictionary - :将处理后的单词与字典文件进行比较,输出不
超级会员免费看
订阅专栏 解锁全文
6

被折叠的 条评论
为什么被折叠?



