VIS(1) | General Commands Manual | VIS(1) |
vis
— display
non-printable characters in a visual format
vis |
[-bcfhlMmNnoSstw ] [-e
extra] [-F
foldwidth] [file ...] |
vis
is a filter for converting
non-printable characters into a visual representation. It differs from
‘cat -v
’ in that the form is unique
and invertible. By default, all non-graphic characters except space, tab,
and newline are encoded. A detailed description of the various visual
formats is given in vis(3).
The options are as follows:
-b
cat -v
”.
(VIS_NOSLASH
)-c
VIS_CSTYLE
)-e
extra-F
foldwidthvis
to fold output lines to foldwidth
columns (default 80), like fold(1),
except that a hidden newline sequence is used, (which is removed when
inverting the file back to its original form with
unvis(1)). If the last character in
the encoded file does not end in a newline, a hidden newline sequence is
appended to the output. This makes the output usable with various editors
and other utilities which typically don't work with partial lines.-f
-F
.-h
VIS_HTTPSTYLE
)-l
\$
’, followed by the newline.-M
-S
,
-w
, -g
)
(VIS_META
)-m
VIS_MIMESTYLE
)-N
VIS_NOLOCALE
flag which encodes using
the “C” locale, removing any encoding dependencies caused by
the current locale settings specified in the environment.-n
-f
or -F
is selected. When
combined with the -f
flag,
vis
becomes like an invertible version of the
fold(1) utility. That is, the output
can be unfolded by running the output through
unvis(1).-o
VIS_OCTAL
)-S
VIS_SHELL
)-s
VIS_SAFE
)-t
VIS_TAB
)-w
VIS_WHITE
)vis
supports multibyte character input.
The encoding conversion is influenced by the setting of the
LC_CTYPE
environment variable which defines the set
of characters that can be copied without encoding.
When 8-bit data is present in the input,
LC_CTYPE
must be set to the correct locale or to the
C locale. If the locales of the data and the conversion are mismatched,
multibyte character recognition may fail and encoding will be performed
byte-by-byte instead.
LC_CTYPE
Visualize characters encoding white spaces and tabs:
$ echo -e "\x10\n\t" | vis -w -t \^P\012\011\012
Same as above but using `\$' for newline followed by an actual newline:
$ echo -e "\x10\n\t" | vis -w -t -l \^P\$ \011\$
Visualize string using URI encoding:
$ echo http://www.freebsd.org | vis -h http%3a%2f%2fwww.freebsd.org%0a
The vis
command appears in
4.4BSD. Multibyte character support was added in
NetBSD 7.0 and FreeBSD
9.2.
February 18, 2021 | macOS 15.0 |