Bash
在終端視窗上輸出製表符
如何在終端視窗上輸出製表符(ASCII hex 0x09)?
在我的所有實驗中,製表符出現在終端上時都會更改為空格。例如
$ echo -e "xx\t\tyy" xx yy
這不是我想要的,因為和之間的
xx
空格yy
填充了 14 個空格而不是 2 個製表符。我試過stty tab0
、和stty tab1
,但都給出了相同的結果。stty tab2``stty tab3
我正在使用 GNOME 終端 2.16.0 和 Red Hat Enterprise Linux Client 版本 5.9。
背景:我想滑鼠選擇終端上的文本並粘貼到 Excel 中。當我從 Emacs 執行此操作時(欄位之間有 0x09 選項卡),欄位最終位於不同的列中。我喜歡這個,並且在從終端複製粘貼時想要相同的行為。但是,目前所有欄位都以第一列中的一個字元串結尾。當我在 Emacs 中的欄位之間有空格 (0x20) 時,行為與從終端複製粘貼時的行為相同。
製表符不是可列印字元。Tab 是一個控製字元,通常使游標前進(但不在行尾),使其跳過的字元保持不變。
gnome-terminal
(和其他vte
基於模擬器)有一個特殊的技巧,它試圖保留標籤以用於複製粘貼目的,但是,它仍然會在軟換行時失去它們。其他模擬器可能也有這樣的黑客,但通常他們沒有。