Linux hunspell 命令 - 交互式文本拼写检查纠正校对工具
hunspell 命令(英文全称:hun spell)是一款开源、跨平台的拼写检查、词干提取工具,它基于 Myspell 扩展的基础上进行开发的,兼容 Ispell 命令的操作习惯,支持多种语言词典,可对纯文本、HTML、LaTeX、ODT、XML 等格式文档进行交互拼写检查,很多的办公软件都是使用 hunspell 作为拼写检查工具。
[!WARNING]
hunspell 命令支持多语言,可以自行安装词典,如法语语言包
hunspell-fr,但是当前没有中文词典,也可以直接下载词典从https://github.com/wooorm/dictionaries、OpenOffice 或 LibreOffice 的词典库下载,放到/usr/share/hunspell/目录中。
系统 hunspell
多数 Linux 发行版默认没有预装 hunspell,可以使用如下的命令安装 hunspell。
Debian / Ubuntu 系列安装 hunspell
使用如下步骤安装 hunspell:
1)更新软件源:
sudo apt update
2)安装 hunspell 及英文基础词典:
sudo apt install hunspell hunspell-en-us
RHEL / AlmaLinux / Rocky Linux 系列安装 hunspell
使用如下步骤安装 hunspell:
1)更新软件源
sudo dnf check-update
2)安装 hunspell 及英文基础词典
sudo dnf install hunspell hunspell-en-US
同类工具对比
如下给出一些常用的拼写检查工具之间的功能对比:
- ispell:早期经典的拼写检查工具,词典生态与多格式文件支持方面不如 hunspell
- aspell:智能纠错功能比较好,但是形态分析、多词典叠加检查功能不如 hunspell
- hunspell:支持复合词检查、多词典链式加载等功能,还可以添加专业领域的词典,是 LibreOffice 等软件默认使用的拼写检查引擎
hunspell 命令语法结构
如下给出 hunspell 命令的基本语法结构形式:
hunspell [选项] [文件...]
语法结构解释说明:
[选项]:用于控制检查行为、词典的一些选项[文件...]:需要进行拼写检查的文档
hunspell 命令使用示例
如下给出一些 hunspell 命令的使用示例,能够更好的说明如何使用 hunspell 命令。
[!TIP]
默认情况下 hunspell 会根据文件的扩展名来判断文件的类型,来对文件进行拼写检查。
交互式检查 HTML 文件
使用默认的系统词典检查 HTML 文件:
hunspell example.html
指定 en_US 词典检查文本文件
使用 -d 选项指定使用特定的语言的词典文件来检查文件内容的拼写:
hunspell -d en_US example.txt
批量列出所有拼写错误单词
使用 -l 选项以非交互方式列出所有的拼写错误的单词:
hunspell -l example.txt
使用自定义个人词典检查拼写
使用 -p 选项指定个人词典:
hunspell -p good_words.txt example.txt
hunspell 命令选项详解
如下给出 hunspell 命令的选项的详细解释说明:
| 选项 | 详细功能说明 |
|---|---|
| -1 | 只检查每行以制表符分隔后的第一个字段 |
| -a | 管道模式,便于脚本的调用 |
| --check-apostrophe | 强制把 Unicode 右单引号(U+2019)作为一个字符来检查 |
| --check-url | 跳过内容中的 URL、邮箱、路径等文件信息 |
| -D | 显示加载词典时使用的路径信息与系统可用词典列表 |
| -d dict | 指定拼写检查时使用的词典,多词典用之间使用逗号分隔 |
| -G | 只输出拼写正确的单词或行 |
| -H | 按照 HTML/SGML 语法结构来检查文件内容,检查时会忽略标签信息,只检查内容 |
| -h, --help | 显示简易的帮助信息 |
| -i enc | 指定输入文本使用的字符编码 |
| -L | 只输出包含错误单词的行 |
| -l | 以非交互模式输出输出错误单词的列表 |
| -m | 对单词进行解析,输出单词的词缀信息 |
| -n | 以 nroff/troff 格式来检查文档的内容 |
| -O | 按照 OpenDocument 格式文档来检查内容 |
| -P pwd | 指定加载加密词典时需要使用的密码 |
| -p dict | 指定自定义个人词典 |
| -r | 标记低频的词汇,提示一些可能潜在的拼写错误 |
| -s | 提取单词的词根信息 |
| -t | 按照 LaTeX 文档,来检查内容,检查时会忽略命令信息 |
| -v, --version | 显示版本信息并退出 |
| -vv | 输出 Ispell 兼容格式的版本信息 |
| -w | 从一个单词或者一行的输入中输出错误单词信息 |
| -X | 按 XML 语法结构,检查内容,会忽略标签与属性信息 |
结语
hunspell 是 Linux 系统下的一款功齐全、生态成熟的拼写检查工具,它能够支持多种文件格式、多种语言,也可集成到脚本中或者应用中来检查拼写内容。
在本文中介绍了 hunspell 命令的基本语法结构,给出了 hunspell 命令的详细使用示例,最后也给出了 hunspell 命令的所有选项的详细解释说明。hunspell 命令可用于检查中文,但是目前缺少中文词典。