【问题标题】:Is it possible to make Hunspell print the line numbers of the misspelled words?是否可以让 Hunspell 打印拼错单词的行号?
【发布时间】:2012-05-23 23:14:57
【问题描述】:

我正在尝试使用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 中才能找出它所在的行号?

提前致谢。

【问题讨论】:

    标签: spell-checking line-numbers hunspell


    【解决方案1】:

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

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

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

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

    来自Hungarian documentation

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

    一些输出示例:

    • -u: Line 2: liveration -> liberation
    • -u2: 2s/liveration/liberation/g; # liveration
    • -u3: (null):2: Locate: liveration | Try: liberation

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    相关资源
    最近更新 更多