AusHunspell-Manpage:
...
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).
...
Ich habe etwas wie Folgendes versucht: echo "* my_word" | hunspell -a
aber das Wort ist nicht in meinem Wörterbuch, da die Analyse der Beispieldatei es erneut als falsch geschriebenes Wort anzeigt
Wie funktioniert das, wie kann ich benutzerdefinierte Wörter hinzufügen?
Oder mit Aspell oder einem „üblichen“ Programm, das in kompatible Wörterbücher schreibt, die von Hunspell/Aspell gelesen werden?
Antwort1
Ich denke, stattdessen (similar to the I command)
sollte es heißen (similar to the A command)
:
A
Accept the word for the rest of this hunspell session.
Schauen wir uns die man
Seite noch einmal an:
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.
Wenn also in ist -a mode
, hunspell
endet die Sitzung nach dem Lesen und Verarbeiten der letzten Eingabezeile. Außerdem,
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.
Wenn Sie einer einzelnen Wortzeile das Präfix voranstellen *
(beachten Sie, dass zwischen Wort und Präfix kein Leerzeichen stehen darf), wird dieses Wort dem Wörterbuch des Benutzers hinzugefügt, jedoch nur für die aktuelle hunspell
Sitzung, da gemäß der man
Seite nur eine Zeile mit dem Präfix #
das persönliche Wörterbuch (also die Datei auf der Festplatte) speichert. Daher wird beim Ausführen von
echo "*goosfraba" | hunspell -a
tut absolut nichts. hunspell
fügt hinzuAbonnierenzum Wörterbuch für diese Sitzung wird dann beendet (keine weiteren Zeilen zu verarbeiten). Sie müssen eine zweite Zeile mit dem Präfix hinzufügen, #
um die zuletzt hinzugefügten Wörter zu speichern:
echo -e "*goosfraba\n#" | hunspell -a
Mal sehen:
::RechtschreibprüfungAbonnieren:
echo -e "goosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
& goosfraba 1 0: goofball
& = Word
steht nicht im Wörterbuch, es gibt jedoch einen Beinahe-Fehler:Trottel.
::goosfraba zum Wörterbuch hinzufügen und dann während derselben Sitzung eine Rechtschreibprüfung durchführen hunspell
(zwei Zeilen):
echo -e "*goosfraba\ngoosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
*
* = Word
steht im Wörterbuch.
::RechtschreibprüfungAbonnierennochmal (neue hunspell
Sitzung):
echo -e "goosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
& goosfraba 1 0: goofball
& = Auch hier word
ist es nicht im Wörterbuch (während der vorherigen Sitzung wurde nichts gespeichert)
::goosfraba zum Wörterbuch hinzufügen und während derselben hunspell
Sitzung speichern (zwei Zeilen):
echo -e "*goosfraba\n#" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
::RechtschreibprüfungAbonnierennochmal (neue hunspell
Sitzung):
echo "goosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
*
* = Word
steht im Wörterbuch.
Antwort2
Ich habe herausgefunden, dass die einfachste Lösung darin besteht, Aspell zu verwenden und eine benutzerdefinierte Datei im Home-Ordner mit dem Namen zu erstellen.aspell.lang.pws, mit Inhalten wie:
personal_ws-1.1 en 0
my_word
für die Sprache "en", was übrigens eine großartige Möglichkeit zu sein scheint, ein "tragbares Wörterbuch" zu teilen