TranslateProject/published/201310/Linux Terminal--Seeing the unseen characters with cat!.md
2013-11-01 21:26:21 +08:00

70 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Linux终端用cat命令查看不可见字符
=============================
时常某个程序或软件并没有语法错误并且你检查它的相关内容也确实没有发现问题。这是因为你用普通文本编辑器软件来查看的时候有许多字符没有显示出来但在终端使用cat命令可以很容易地检测出是否存在这些字符。
首先,我们创建一个简单的文本文件,写入一些特殊字符。打开终端,运行命令:
printf 'testing\012\011\011testing\014\010\012more testing\012\011\000\013\000even more testing\012\011\011\011\012' > /tmp/testing.txt
现在用不同的编辑器软件打开显示的结果会不同。用简单的cat打开将显示
$ cat /tmp/testing.txt
testing
testing
more testing
even more testing
如果用nano或者vim打开将会看到
testing
testing^L^H
more testing
^@^K^@even more testing
现在我们给cat加上一些选项参数以便能显示出特殊字符来。
###用cat -T命令来显示TAB键的字符\^I
cat -T /tmp/testing.txt
testing
^I^Itesting
more testing
^I
even more testing
^I^I^I
###用cat -E命令来显示行尾的结束字符$
$ cat -E /tmp/testing.txt
testing$
testing
$
more testing$
even more testing$
$
###用简单的cat -A命令就可以显示所有不可见的字符
$ cat -A /tmp/testing.txt
testing$
^I^Itesting^L^H$
more testing$
^I^@^K^@even more testing$
^I^I^I$
---
via: http://linuxaria.com/pills/linux-terminal-seeing-the-unseen-characters-with-cat?lang=en#more-7645
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
译者:[runningwater](https://github.com/runningwater) 校对:[Caroline](https://github.com/carolinewuyan)