Linux終端:用cat命令查看不可見字符
時常,某個程序或軟件并沒有語法錯誤,并且你檢查它的相關(guān)內(nèi)容也確實沒有發(fā)現(xiàn)問題。這是因為你用普通文本編輯器軟件來查看的時候,有許多字符沒有顯示出來,但在終端使用cat命令可以很容易地檢測出是否存在這些字符。
首先,我們創(chuàng)建一個簡單的文本文件,寫入一些特殊字符。打開終端,運行命令:
- printf 'testing\012\011\011testing\014\010\012more testing\012\011\000\013\000even more testing\012\011\011\011\012' > /tmp/testing.txt
現(xiàn)在用不同的編輯器軟件打開,顯示的結(jié)果會不同。用簡單的cat打開將顯示:
- $ cat /tmp/testing.txt
- testing
- testing
- more testing
- even more testing
如果用nano或者vim打開,將會看到:
- testing
- testing^L^H
- more testing
- ^@^K^@even more testing
現(xiàn)在我們給cat加上一些選項參數(shù),以便能顯示出特殊字符來。
用cat -T命令來顯示TAB鍵的字符^I
- cat -T /tmp/testing.txt
- testing
- ^I^Itesting
- more testing
- ^I
- even more testing
- ^I^I^I
用cat -E命令來顯示行尾的結(jié)束字符$
- $ 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$