bsearch man page
bsearch — manages one-time passwords
The bsearch program performs binary searches of file which must be a sorted flat text file.
Each line is a record. Each record starts with a key that is optionally followed by whitespace and a value. Whitespace may be quoted with a backslash, but newline and carriage-return characters must be quoted in some other manner (e.g., as backslash-n and backslash-r). Escapes are not interpreted nor removed.
If no key arguments are given on the comman-line, then keys will be read from standard input.
By default only values are printed to standard output. Use the -K option to also print keys. The exit status will be non-zero if any key lookups fail.
Don't print values.
Print usage and exit.
Print statistic and debug information to standard error. file A sorted flat text file. NOTE: use the "C" locale for sorting this file, as in "LC_ALL=C sort -u -o file file".
For getting a help message.
Set max-cache-size as the maximum cache size. If the file is smaller than this size then the whole file will be read into memory, else the program will read blocks. Defaults to 1MB.
Set block-size as the block size for block-wise I/O. This must be a power of 2, must be no smaller than 512 and no larger than 1MB. Defaults to the file's filesystem's preferred blocksize.
$ env LC_ALL=C sort -o /tmp/words /usr/share/dict/words $ bsearch -Kv /tmp/words day Using whole-file method Key day found at offset 327695 in 12 loops and 0 reads day $
Records must not be longer than one block's size.
Flat text files must be sorted in the "C" locale. In some systems the default locale may result in case-insensitive sorting by the sort command.