| ul | [ -i] [-tterminal] [name
      ...] | 
ul reads the named files (or standard input if none are
  given) and translates occurrences of underscores to the sequence which
  indicates underlining for the terminal in use, as specified by the environment
  variable TERM. The file
  /usr/share/misc/terminfo is read to determine the
  appropriate sequences for underlining. If the terminal is incapable of
  underlining, but is capable of a standout mode then that is used instead. If
  the terminal can overstrike, or handles underlining automatically,
  ul degenerates to
  cat(1). If the terminal cannot
  underline, underlining is ignored.
The following options are available:
  - -i
- Underlining is indicated by a separate line containing appropriate dashes
      `-'; this is useful when you want to look at the underlining which is
      present in an nroff(1) output
      stream on a crt-terminal.
- -tterminal
- Overrides the terminal type specified in the environment with
      terminal.
The following environment variable is used:
  - TERM
- The TERMvariable is used to relate a tty device
      with its device capability description (see
      terminfo(5)).TERMis set at login time, either by the default
      terminal type specified in /etc/ttys or as set
      during the login process by the user in their
      login file (see for example
      csh(1)'ssetenv).
  - /usr/share/misc/terminfo
- File containing terminal descriptions.
Theul command appeared in
  3.0BSD.
nroff(1) usually outputs a series
  of backspaces and underlines intermixed with the text to indicate underlining.
  No attempt is made to optimize the backward motion.