Linux终端:用cat命令查看不可见字符


时常,某个程序或软件并没有语法错误,并且你检查它的相关内容也确实没有发现问题。这是因为你用普通文本编辑器软件来查看的时候,有许多字符没有显示出来,但在终端使用cat命令可以很容易地检测出是否存在这些字符。

首先,我们创建一个简单的文本文件,写入一些特殊字符。打开终端,运行命令:

  1. 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打开将显示:

  1. $ cat /tmp/testing.txt  
  2. testing 
  3.         testing 
  4.  
  5. more testing 
  6.  
  7. even more testing 

如果用nano或者vim打开,将会看到:

  1. testing 
  2.             testing^L^H 
  3.  
  4. more testing 
  5.     ^@^K^@even more testing 

现在我们给cat加上一些选项参数,以便能显示出特殊字符来。

用cat -T命令来显示TAB键的字符^I

  1. cat -T /tmp/testing.txt 
  2. testing 
  3. ^I^Itesting 
  4.  
  5. more testing 
  6. ^I 
  7.   even more testing 
  8. ^I^I^I 

用cat -E命令来显示行尾的结束字符$

  1. $ cat -E /tmp/testing.txt 
  2. testing$ 
  3.         testing 
  4.   $ 
  5. more testing$ 
  6.  
  7. even more testing$ 
  8.             $ 

用简单的cat -A命令就可以显示所有不可见的字符:

  1. $ cat -A /tmp/testing.txt 
  2. testing$ 
  3. ^I^Itesting^L^H$ 
  4. more testing$ 
  5. ^I^@^K^@even more testing$ 
  6. ^I^I^I$ 

相关内容