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 terminfo database 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 TERM variable is used to relate a tty device with its device
capability description (see terminfo(5)). TERM is 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 setenv(3)).