NAME
cat-v - 可视化非打印字符
SYNOPSIS
cat-v [ 选项 ] args ...
OPTIONS
-n --reset Disable all character conversion
-c --visible=# Specify visualize characters
-r --repeat=# Specify repeat characters
-R --replicate Replicate original line as is
-t --expand[=#] Expand tabs
-T --no-expand Do not expand tabs
--ts --tabstyle=# Set tab style
--tabstop=# Set tab width
--tabhead=# Set tab-head character
--tabspace=# Set tab-space character
-h --help Print this message
-v --version Print version
OPTIONS FOR EACH CHARACTERS
--esc Enable escape
--esc=c Show escape in control format
--esc=+c Show escape in control format and reproduce
--nl=0 Disable newline
--sp=~ Convert spaces to tilde
--sp='OPEN BOX' Unicode name
--esc=+U+035B Unicode code point
VERSION
Version 1.01
DESCRIPTION
cat -v
命令常用于显示无法显示的字符,但并不总是适合查看现代应用程序的输出,因为它会转换所有非 ASCII 字符。
cat-v
命令可将空白和控制字符可视化,同时保留显示可显示的图形字符。
此外,默认情况下不转换转义字符,因此保留了 ANSI 转义序列的装饰。
有时需要将空白字符可视化。cat -t
命令可以将制表符可视化,但问题是它破坏了可视化格式。我们可能希望在保留格式的同时,看到哪些部分是制表符,哪些部分是空白字符。行尾的额外空白字符也可以通过可视化来发现。
使用 cat-v
,制表符可以可视化,显示的空格不会改变。
控制字符可以用控制格式和 Unicode 符号字符显示。默认情况下,换行符和转义字符以外的控制字符显示为相应的 Unicode 符号。
第二个字段是默认操作。s
表示符号,m
表示 Unicode 标识,0
表示不转换。
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} ␣ OPEN BOX
目前,Unicode 标识可用于以下字符
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
del \x{232B} ⌫ ERASE TO THE LEFT
OPTIONS
- -n, --reset
-
禁用所有字符转换并重置重复字符。
- -c, --visible name=flag,...
-
将字符类型和标记作为参数,以指定要可视化的字符和转换格式。
c control style s symbol style m Unicode mark (if exists) 0 do not convert * non-alphanumeric char is used as a replacement
选项
-c nl=1
也可用于显示换行符。仅对于换行符,在显示转换结果后,会同时输出原始字符。使用上面列表中的名称来指定字符类型。如果要转换转义字符而不转换制表符,请使用以下命令
cat-v -c tab=0 -c esc=s
可以同时指定多个项目。下面的示例将
tab
和bel
设置为 0,将esc
设置为s
。cat-v -c tab=bel=0,esc=s
如果为名称指定了
all
,则该值适用于所有字符类型。下面的命令将所有字符设置为s
,然后将nl
、nl
、np
和sp
设置为m
,并禁用esc
。这是默认状态。cat-v -c all=s,nul=nl=np=sp=m,esc=0
- --name[=replacement]
-
所有控制字符也可以通过带有其名称的选项访问。例如,选项
--nl
是为换行符定义的。单独使用时,它可以激活该字符的可见性。
cat-v --nl
若要禁用,则设置值为 0。
cat-v --nl=0
如果输入的不是字母或数字,则会被该字母取代。
cat-v --nl='$'
如果输入两个或两个以上字符的字符串,该字符串将被解释为 Unicode 字符名。
cat-v --nl='RETURN SYMBOL' --sp='MIDDLE DOT'
如果标志以
+
开头,则该字符将被添加到重复列表中。cat-v --esc=+s
因此,上述命令的含义将与如下内容相同。
cat-v --esc=s --repeat +esc
- --repeat=name[,name...]
-
指定在输出转换字符的同时输出原始字符的字符类型。默认设置为
nl,np
。下面的命令将正确输出带有转义字符的原始 ANSI 序列。cat-v -c esc --repeat esc,nl
如果 name 以
+
开头,则在现有配置的基础上添加该字符。cat-v -c esc --repeat +esc
- -R, --replicate
-
在打印转换后的字符串之前,首先输出原始字符串。
- -t[n], --expand[=n]
- -T, --no-expand
-
Tab 字符默认为展开字符。要明确禁用它,请使用 -T 或 --no-expand 选项。
如果为 -t 选项指定了一个可选数字,该数字将被视为制表符宽度。以下两条命令是等价的:
cat-v -t4 cat-v -t --tabstop=4
默认情况下使用
needle
样式,可以使用--tabstyle
更改。如果指定--tabstyle
选项且不带参数,则会显示可用样式列表。通过在
~/.cat-vrc
文件中设置以下选项,可以默认禁用制表符扩展。option default --no-expand
在这种情况下,可以使用
-t
选项临时启用制表符扩展。 - --tabstop=# (DEFAULT: 8)
-
设置制表符宽度。
- --tabhead=#
- --tabspace=#
-
设置制表符头和后面的空格字符。如果选项值的长度超过单字符,则将其视为 unicode 名称。
- --tabstyle, --ts
- --tabstyle=style, --ts=...
- --tabstyle=head-style,space-style --ts=...
-
设置制表符展开的样式。例如选择
symbol
或shade
。如果组合了两个样式名称,如squat-arrow,middle-dot
,则在制表符头使用squat-arrow
,在制表符空间使用middle-dot
。如果调用时不带参数,则显示可用样式表。样式在 Text::ANSI::Fold 库中定义。
INSTALL
CPANMINUS
来自 CPAN 档案:
cpanm App::cat::v
来自 GIT 代码库:
cpanm https://github.com/tecolicom/App-cat-v.git
SEE ALSO
- https://github.com/tecolicom/App-cat-v.git
-
Git 仓库。
- App::optex::util::filter
-
cat-v
命令的前身最初是作为 App::optex 命令的过滤器模块创建的。
AUTHOR
Kazumasa Utashiro
LICENSE
Copyright © 2024 Kazumasa Utashiro.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.