在Unix中使用'less'命令显示特殊字符
我想知道如何使用'less'命令查看特殊字符。 例如,我想用特殊符号来看不可打印的字符。 例如在'vi'编辑器中,我使用“set list on”来查看由'$'字符表示的行终止字符。 同样,我想用“less”命令来做到这一点。
我提到Unix较less手动,但无济于事。
less看看它的环境,看是否有一个名为LESS的variables
你可以在你的〜/ .profile(.bash_rc等等)中设置LESS,然后在任何时候从命令行运行less
时候,它会findLESS。
尝试添加这个
export LESS="-CQaix4"
这是我使用的设置,embedded了一些行为可能会让你困惑,所以…
你可以从帮助function中了解到所有这些意思,只需点击“h”键,或者运行较less的帮助。
编辑
我看了看帮助,注意到还有一个-r选项
-r -R .... --raw-control-chars --RAW-CONTROL-CHARS Output "raw" control characters.
我同意猫可能是最符合你的需求。
cat -vet file | less
将在每行的末尾添加“$”,并将tab字符转换为可视的“^ I”。
cat --help (edited) -e equivalent to -vE -E, --show-ends display $ at end of each line -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
我希望这有帮助。
你可以用cat来做到这一点,并输出到更less:
cat -e yourFile | less
man cat
摘录解释了什么-e
意思:
-e equivalent to -vE -E, --show-ends display $ at end of each line -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
为了less
用-u
来显示回车符( ^M
)和退格符( ^H
),或者用-U
来显示前面的和标签( ^I
),例如:
$ awk 'BEGIN{print "foo\bbar\tbaz\r\n"}' | less -U foo^Hbar^Ibaz^M (END)
没有-U
开关,输出将是:
fobar baz (END)
更多man less
看到更详细的描述function。
所有特殊的,不可打印的字符都以小于^的符号显示。 然而,换行实际上是可打印的(只是换一个新的行),所以不被认为是特殊的,所以你会有replace它的问题。 如果你只是想看到行结尾,最简单的方法可能是
sed -e 's/$/$/' | less