hunspell: 명령줄에서 사전에 단어 추가

hunspell: 명령줄에서 사전에 단어 추가

~에서hunspell 매뉴얼 페이지:

...
    When in the -a mode, hunspell will also accept lines  of  single
    words  prefixed  with  any of '*', '&', '@', '+', '-', '~', '#',
    '!', '%', '`', or '^'.  A line starting with '*' tells  hunspell
    to  insert the word into the user's dictionary (similar to the I
    command).
...

다음과 같이 시도했지만 echo "* my_word" | hunspell -a예제 파일을 다시 구문 분석하면 해당 단어가 철자가 틀린 단어로 표시되기 때문에 해당 단어가 내 사전에 없습니다.

어떻게 작동하며 사용자 정의 단어를 추가하려면 어떻게 해야 합니까?
아니면 Aspell이나 Hunspell/Aspell이 읽는 호환 가능한 사전을 작성하는 "범용" 프로그램을 사용하시겠습니까?

답변1

(similar to the I command)나는 다음과 같아야 한다고 생각합니다 (similar to the A command).

A

Accept the word for the rest of this hunspell session. 

man페이지를 다시 확인해 보겠습니다 .

The -a option is intended to be used from other programs through a pipe.
In this mode, hunspell prints a one-line version identification message,
and then begins reading lines of input.

따라서 에서는 -a mode입력 hunspell의 마지막 줄을 읽고 처리한 후에 세션이 종료됩니다. 또한,

When in the -a mode, hunspell will also accept lines of single words prefixed
with any of '*', '&', '@', '+', '-', '~', '#', '!', '%', ''', or '^'. A line
starting with '*' tells hunspell to insert the word into the user's dictionary
(similar to the I command)[........] A line prefixed with '#' will cause the
personal dictionary to be saved.

단일 단어 줄에 접두사를 추가하면 *(단어와 접두사 사이에 공백이 없어야 함) 해당 단어가 사용자 사전에 추가되지만 현재 hunspell세션에 대해서만 추가됩니다. 왜냐하면 페이지에 따르면 man접두사가 붙은 줄만 #추가되기 때문입니다. 저장할 개인 사전(예: 디스크의 파일)으로 이동합니다. 그러니 달려라

echo "*goosfraba" | hunspell -a

아무것도 하지 마세요. hunspell다음에 추가거스 프라바이 세션의 사전으로 이동한 다음 종료합니다(더 이상 처리할 행이 없습니다). #최근에 추가된 단어를 저장하려면 접두사가 있는 두 번째 줄을 추가해야 합니다 .

echo -e "*goosfraba\n#" | hunspell -a

보자:

::맞춤법 검사거스 프라바:

echo -e "goosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
& goosfraba 1 0: goofball

&=는 Word사전에 없지만 거의 발생한 일이 있습니다.바보 공.

::goosfraba를 사전에 추가한 다음 hunspell동일한 세션 중에 맞춤법 검사를 수행합니다(두 줄):

echo -e "*goosfraba\ngoosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
*

* = Word사전에 있음.

::맞춤법 검사거스 프라바다시(새 hunspell세션):

echo -e "goosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
& goosfraba 1 0: goofball

& = 다시 말하지만, word사전에 없습니다(이전 세션에서는 아무것도 저장되지 않았습니다).

::goosfraba를 사전에 추가하고 hunspell동일한 세션 중에 저장합니다(두 줄):

echo -e "*goosfraba\n#" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)

::맞춤법 검사거스 프라바다시(새 hunspell세션):

echo "goosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
*

* = Word사전에 있음.

답변2

제가 찾은 가장 쉬운 해결책은 Aspell을 사용하여 홈 폴더에 다음과 같은 사용자 정의 파일을 만드는 것이었습니다..aspell.lang.pws, 내용은 다음과 같습니다.

personal_ws-1.1 en 0
my_word

이것은 언어 "en"에 대한 "휴대용 사전"을 공유하는 좋은 방법인 것 같습니다. btw

관련 정보