6

我正在尝试使用Hunspell来纠正我写的一篇文章。不幸的是,它对我来说没用,只要它不打印拼写错误单词的行号。

所以现在我正在使用该-a 选项,以便能够将其通过管道传输到hunspell命令中。手册页说,该-L 选项将“打印拼写错误的行”。但我看不出输出有什么不同。

这就是我现在所做的:

$ cat myessay.txt | hunspell -d en_US,de_DE -a -L

示例输出如下所示:

& JavaServer 3 412: Java Server, Java-Server, Javasee

“JavaServer”这个词在第 78 行,正如手册页所解释的,它在该行有 412 个字符的偏移量。

有什么我想念的吗?这个问题是否有一个简单的解决方案,或者我真的必须将每一行输入 Hunspell 以找出它所在的行号?

提前致谢。

4

1 回答 1

10

现在,我实际上下载了 Hunspell 的源代码并开始做生意。有一个未记录的-u 选项可以为我提供可以轻松使用的输出:

$ hunspell -u -d en_US,de_DE myessay.txt

这是使用德语和美国词典打印行号的诀窍。或者,您也可以使用该-U 选项来获取文本的摘录。其他未记录的命令行选项是-u2-u3

但要小心:这些开关是实验性的,源代码显示这些功能缺乏 Unicode 支持。

来自匈牙利文档

  • -u:显示文件中的典型错误并带有替换建议。
  • -u2: 可以使用 sed 执行的典型错误及其修复。
  • -U:如果您想接受所有通过该-u 选项收到的建议,-U 交换机将自动替换 Hunspell 并将修改后的文件发送到标准输出。示例补丁:hunspell -U original_file >patch_file. 错误输出也再次显示补丁,类似于-u 开关。

一些输出示例:

  • -uLine 2: liveration -> liberation
  • -u22s/liveration/liberation/g; # liveration
  • -u3(null):2: Locate: liveration | Try: liberation
于 2012-05-27T23:52:11.630 回答