Lectus is a script to query dictionary files (for the moment, only ABBYY Lingvo .dsl dictionaries) and display the results in a Linux terminal.
Clone the GitHub repository:
git clone:https://github.com/proteusx/Lectus.git
Copy or link some .dsl dictionary files into the Lectus directory.
lectus <LEMMA> [OPTION]
OPTIONS:
-r or --regex Toggle search by regular expression -l or --lexica Space separated list of dictionaries -d or --directory Path to the dictionaries directory ( default directory ./)
If option -r
is given then LEMMA
is assumed to be a regular expression otherwise
Lectus will look for an exact match.
If option -l
is given and it is followed by one or more dictionary names, these will be
searched, otherwise all dictionaries present in the specified directory, or in the
default current working directory (CWD), will be searched in sequence.
Assuming that you have a copy or a link to the Photius lexicon
(file photius.dsl
), to search for the lemma κηπος
:
lectus κηπος -l photius
This will return the meaning of the exact word κηπος
. The search term must be typed without accents.
Searching is always case insensitive.
To search all dictionaries for the word κηπος
:
lectus κηπος
The search term can be a regular expression like:
lectus κ.*ος -r -l photius
Will return all words that include strings that start with a "κ" followed by any number of characters and end with a "ς".
To search the Suda lexicon (file suda.dsl
) for words like
κῆπος
and κῆτος
:
lectus \^κη\(π\|τ\)ος -r -l suda
Any Perl like regular expression is acceptable input, provided that symbols that are
significant to the shell, like ^,|,(,)
, etc. are escaped with a "\".
Lectus displays in alphabetical order the first 20 results that match the query.
When Lectus sees a dictionary for the first time it will generate an index file (.idx) which records the location of every headword within the .dsl file. Subsequent queries on the same dictionary will go through this index, find the headword, read the corresponding index and rapidly locate the answer in the .dsl file.