NAME
dict – dictionary browser

SYNOPSIS
dict [ –k ] [ –d dictname ] [ –c command ] [ pattern ]

DESCRIPTION
Dict is a dictionary browser. If a pattern is given on the command line, dict prints all matching entries; otherwise it repeatedly accepts and executes commands. The options are
d dictname   Use the given dictionary. The default is oed, the second edition of the Oxford English Dictionary. A list of available dictionaries is printed by option –d?.
c command   Execute one command and quit. The command syntax is described below.
k          Print a pronunciation key.

Patterns are regular expressions (see regexp(6)), with an implicit leading ^ and trailing $. Patterns are matched against an index of headwords and variants, to form a `match set'. By default, both patterns and the index are folded: upper case characters are mapped into their lower case equivalents, and Latin accented characters are mapped into their non–accented equivalents. In interactive mode, there is always a `current match set' and a `current entry' within the match set. Commands can change either or both, as well as print the entries or information about them.

Commands have an address followed by a command letter. Addresses have the form:
/re/     Set the match set to all entries matching the regular expression re, sorted in dictionary order. Set the current entry to the first of the match set.
!re!     Like /re/ but use exact matching, i.e., without case and accent folding.
n       An integer n means change the current entry to the nth of the current match set.
#n      The integer n is an absolute byte offset into the raw dictionary. (See the A command, below.)
addr+    After setting the match set and current entry according to addr, change the match set and current entry to be the next entry in the dictionary (not necessarily in the match set) after the current entry.
addr–    Like addr+ but go to previous dictionary entry.

The command letters come in pairs: a lower case and the corresponding upper case letter. The lower case version prints something about the current entry only, and advances the current entry to the next in the match set (wrapping around to the beginning after the last). The upper case version prints something about all of the match set and resets the current entry to the beginning of the set.
p,P    Print the whole entry.
h,H    Print only the headword(s) of the entry.
a,A    Print the dictionary byte offset of the entry.
r,R    Print the whole entry in raw format (without translating special characters, etc.).

If no command letter is given for the first command, H is assumed. After an H, the default command is p. Otherwise, the default command is the previous command.

FILES
/lib/dict/oed2
/lib/dict/oed2index
Other files in /lib.

SEE ALSO
regexp(6)

SOURCE
/sys/src/cmd/dict

BUGS
A font with wide coverage of the Unicode Standard should be used for best results. (Try /lib/font/bit/pelm/unicode.9.font.)
If the pattern doesn't begin with a few literal characters, matching takes a long time.
The dictionaries are not distributed outside Bell Labs.