App-cat-v
view release on metacpan or search on metacpan
script/cat-v view on Meta::CPAN
--nl=0 Disable newline
--sp=~ Convert spaces to tilde
--sp='OPEN BOX' Unicode name
--esc=+U+035B Unicode code point
=head1 VERSION
Version 1.05
=head1 DESCRIPTION
The C<cat -v> command is often used to display characters that cannot
be displayed, but is not always suitable for viewing the output of
modern applications because it converts all non-ASCII characters.
The C<cat-v> command visualizes whitespace and control characters
while preserving the display of displayable graphic characters.
=begin html
<p><img width="750" src="https://raw.githubusercontent.com/tecolicom/App-cat-v/main/images/tree.png">
=end html
Also, by default, escape characters are not converted, so decorations
by ANSI escape sequences are retained.
=begin html
<p><img width="750" src="https://raw.githubusercontent.com/tecolicom/App-cat-v/main/images/visualized.png">
=end html
Sometimes it is desirable to visualize whitespace characters. The
C<cat -t> command can visualize tab characters, but the problem is
that it breaks the visual format. We may want to see which parts are
tabs and which parts are space characters while preserving the format.
Extra whitespace characters at the end of a line can also be noticed
by visualizing them.
Using C<cat-v>, tab characters are visualized in such a way that the
space on the display does not change.
=begin html
<p><img width="750" src="https://raw.githubusercontent.com/tecolicom/App-cat-v/main/images/tabstyle-needle.png">
=end html
Control characters can be displayed in control format and Unicode
symbol characters. By default, control characters other than newline
and escape characters are displayed as corresponding Unicode symbols.
The second field is the default action. C<s> stands for symbol, C<m>
for Unicode mark, and C<0> for no conversion.
nul s \000 \x{2400} â SYMBOL FOR NULL
soh s \001 \x{2401} â SYMBOL FOR START OF HEADING
stx s \002 \x{2402} â SYMBOL FOR START OF TEXT
etx s \003 \x{2403} â SYMBOL FOR END OF TEXT
eot s \004 \x{2404} â SYMBOL FOR END OF TRANSMISSION
enq s \005 \x{2405} â
SYMBOL FOR ENQUIRY
ack s \006 \x{2406} â SYMBOL FOR ACKNOWLEDGE
bel s \007 \x{2407} â SYMBOL FOR BELL
bs s \010 \x{2408} â SYMBOL FOR BACKSPACE
ht s \011 \x{2409} â SYMBOL FOR HORIZONTAL TABULATION
nl m \012 \x{240A} â SYMBOL FOR LINE FEED
vt s \013 \x{240B} â SYMBOL FOR VERTICAL TABULATION
np m \014 \x{240C} â SYMBOL FOR FORM FEED
cr s \015 \x{240D} â SYMBOL FOR CARRIAGE RETURN
so s \016 \x{240E} â SYMBOL FOR SHIFT OUT
si s \017 \x{240F} â SYMBOL FOR SHIFT IN
dle s \020 \x{2410} â SYMBOL FOR DATA LINK ESCAPE
dc1 s \021 \x{2411} â SYMBOL FOR DEVICE CONTROL ONE
dc2 s \022 \x{2412} â SYMBOL FOR DEVICE CONTROL TWO
dc3 s \023 \x{2413} â SYMBOL FOR DEVICE CONTROL THREE
dc4 s \024 \x{2414} â SYMBOL FOR DEVICE CONTROL FOUR
nak s \025 \x{2415} â SYMBOL FOR NEGATIVE ACKNOWLEDGE
syn s \026 \x{2416} â SYMBOL FOR SYNCHRONOUS IDLE
etb s \027 \x{2417} â SYMBOL FOR END OF TRANSMISSION BLOCK
can s \030 \x{2418} â SYMBOL FOR CANCEL
em s \031 \x{2419} â SYMBOL FOR END OF MEDIUM
sub s \032 \x{241A} â SYMBOL FOR SUBSTITUTE
esc 0 \033 \x{241B} â SYMBOL FOR ESCAPE
fs s \034 \x{241C} â SYMBOL FOR FILE SEPARATOR
gs s \035 \x{241D} â SYMBOL FOR GROUP SEPARATOR
rs s \036 \x{241E} â SYMBOL FOR RECORD SEPARATOR
us s \037 \x{241F} â SYMBOL FOR UNIT SEPARATOR
sp m \040 \x{2420} â SYMBOL FOR SPACE
del s \177 \x{2421} â¡ SYMBOL FOR DELETE
nbsp s \240 \x{2423} â½ SHOULDERED OPEN BOX
At this time, Unicode markings are available for the following
characters
nul \x{2205} â
EMPTY SET
bel \x{237E} â¾ BELL SYMBOL
nl \x{23CE} â RETURN SYMBOL
np \x{2398} â NEXT PAGE
sp \x{00B7} · MIDDLE DOT
esc \x{21B0} â° UPWARDS ARROW WITH TIP LEFTWARDS
del \x{232B} â« ERASE TO THE LEFT
=head1 OPTIONS
=over 7
=item B<-n>, B<--reset>
Disables all character conversions and tab expansion, and resets
repeat characters. Therefore, the C<cat-v -n> effectively does
nothing, just like the C<cat> command.
Once the default behavior is reset, only options specified after it
will have any effect. For example, the following command will only
visualize tab characters.
cat-v -nt
=item B<-c>, B<--visible> I<name>=I<flag>,...
( run in 2.234 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )