Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Доступ к словарям из командной строки Linux

Оригинал: How to look up dictionary via command line on Linux
Автор: Dan Nanni
Дата публикации: 18 апреля 2013 года
Перевод: А. Кривошей
Дата перевода: август 2015 г.

Если вам нужно определение слова или его перевод, обычно его можно найти в онлайновых словарях. Однако, что если у вас не установлен графический сервер X11, или нет подключения к сети? В таком случае вы можете воспользоваться оффлайновыми консольными утилитами для работы со словарями.

Во-первых, вы можете установить локально dictd, который является сервером базы словарей и использует протокол Dictionary Server Protocol (DICT) для предоставления клиенту доступа к определениям в словаре по сети. Если демон dictd установлен на локальной машине, вы можете получить доступ к словарям оффлайн. dictd поставляется вместе с консольным клиентом.

Установка dictd в Ubuntu или Debian:

$ sudo apt-get install dictd

После установки dict, вам необходимо будет также установить словари. При установке любого нового словаря dictd будет автоматически перезапускаться, чтобы перезагрузить свою базу словарей.

$ sudo apt-get install dict-gcide
$ sudo apt-get install dict-moby-thesaurus

Доступно большое количество многоязычных словарей. Например:

$ sudo apt-cache search "dict package"

dict-freedict-eng-ara - Dict package for English-Arabic Freedict dictionary
dict-freedict-eng-cro - Dict package for English-Croatian Freedict dictionary
dict-freedict-eng-cze - Dict package for English-Czech Freedict dictionary
dict-freedict-eng-deu - Dict package for English-German Freedict dictionary
dict-freedict-eng-fra - Dict package for English-French Freedict dictionary
dict-freedict-eng-hin - Dict package for English-Hindi Freedict dictionary
dict-freedict-eng-hun - Dict package for English-Hungarian Freedict dictionary
dict-freedict-eng-iri - Dict package for English-Irish Freedict dictionary
dict-freedict-eng-ita - Dict package for English-Italian Freedict dictionary
dict-freedict-eng-lat - Dict package for English-Latin Freedict dictionary
dict-freedict-eng-nld - Dict package for English-Dutch Freedict dictionary
dict-freedict-eng-por - Dict package for English-Portuguese Freedict dictionary
dict-freedict-eng-rom - Dict package for English-Romanian Freedict dictionary
dict-freedict-eng-rus - Dict package for English-Russian Freedict dictionary
dict-freedict-eng-scr - Dict package for English-Serbo-Croat Freedict dictionary
dict-freedict-eng-spa - Dict package for English-Spanish Freedict dictionary
dict-freedict-eng-swa - Dict package for English-Swahili Freedict dictionary
dict-freedict-eng-swe - Dict package for English-Swedish Freedict dictionary
. . .

Теперь вы можете использовать консольный клиент dict для получения доступа к серверу dictd и его словарям.
Для того, чтобы убедиться, что сервер dictd запущен, и база словарей доступна, воспользуйтесь приведенной ниже командой. В этом примере доступны два словаря.

$ dict -I

dictd 1.12.0/rf on Linux 3.2.0-29-generic-pae
  On my_host: up 95.000, 2 forks (75.8/hour)
  
  Database      Headwords         Index          Data  Uncompressed
  gcide              203645       3859 kB         12 MB         38 MB
  moby-thesaurus      30263        528 kB         10 MB         28 MB

Для просмотра определения слова из заданного словаря (здесь gcide), используйте команду:

$ dict -d gcide [word]

Если вы не задали базу данных с помощью опции "-d", dictd будет производить поиск во всех доступных базах и вернет все подходящие определения.
Для удобства вы можете настроить псевдонимы, чтобы искать определения слов только в одном словаре. Например, чтобы задать псевдоним для тезауруса, добавьте приведенный ниже псевдоним в ~/.bashrc

alias thrus='dict -d moby-thesaurus'

$ thrus cryptography

1 definition found

From Moby Thesaurus II by Grady Ward, 1.0 [moby-thesaurus]:

  48 Moby Thesaurus words for "cryptography":
     cipher, code, coded message, coup de plume, criticism,
     cryptanalysis, cryptoanalysis, cryptoanalytics, cryptogram,
     cryptograph, cryptographer, cryptology, diagnostics, engrossment,
     epigraphy, exegetics, hermeneutics, ink spilling, inkslinging,
     inscription, invisible ink, lettering, lexicography,
     literary criticism, macrography, metoposcopy, micrography,
     oneirology, paleography, pathognomy, pen, pen-and-ink,
     pencil driving, physiognomics, physiognomy, scrivenery, scrivening,
     secret language, secret writing, semeiology, semeiotics,
     sympathetic ink, symptomatology, textual criticism, tropology,
     typewriting, typing, writing