1

我对此感到非常困惑。我有一个拼写检查在 Git 中上演的东西的脚本。这是获取拼写错误单词列表的命令:

git diff --cached | grep -e "^+[^+]" | aspell list --mode sgml --lang en --extra-dicts=/home/test/dictionary.test --add-sgml-skip={ulink,literal,screen} | sort | uniq

--add-sgml-skip 中的参数数量不相关。生成 dictionary.test 文件:

aspell --lang=en create master /home/test/dictionary.test < /home/test/dict.txt

这一切都有效,一切都很好,但在一个文档中,它不起作用,没有找到任何单词。我不知道为什么会这样。这是更多信息:

> git diff --cached | grep -e "^+[^+]" | wc -l
250
> git diff --cached | grep -e "^+[^+]" | aspell list --mode sgml --lang en --extra-dicts=/home/test/dictionary.test | sort | uniq | wc -l
39
> git diff --cached | grep -e "^+[^+]" | aspell list --mode sgml --lang en --extra-dicts=/home/test/dictionary.test --add-sgml-skip={ulink} | sort | uniq | wc -l
39
> git diff --cached | grep -e "^+[^+]" | aspell list --mode sgml --lang en --extra-dicts=/home/test/dictionary.test --add-sgml-skip={ulink,literal} | sort | uniq | wc -l
0

当我在其他存储库中运行此命令时,它可以完美运行。我一直试图弄清楚这一天,但我很茫然。我必须知道为什么会发生这种情况,否则我将无法再睡一晚:) 非常感谢帮助。

4

1 回答 1

0

Aspell 在下一行尝试它以获取可能的错误(将 test.html 替换为现有文件)。

cat test.html | aspell list f- sgml --lang en --extra-dicts=/home/test/dictionary.test --add-sgml-skip={nospell,literal,screen} | sort | uniq

如果没有错误,请尝试。

git diff --cached | grep -e "^+[^+]" | cat test.html | aspell list f- sgml --lang en --extra-dicts=/home/test/dictionary.test --add-sgml-skip={nospell,literal,screen} | sort | uniq
于 2012-10-04T05:09:11.960 回答