這命令就是在將 [tab] 按鍵轉成空格鍵:
[root@www ~]# expand [-t] file 選項與參數: -t :后面可以接數字。一般來說,一個 tab 按鍵可以用 8 個空格鍵取代。 我們也可以自行定義一個 [tab] 按鍵代表多少個字符呢! 范例一:將 /etc/man.config 內行首為 MANPATH 的字樣就取出;僅取前三行; [root@www ~]# grep '^MANPATH' /etc/man.config | head -n 3 MANPATH /usr/man MANPATH /usr/share/man MANPATH /usr/local/man # 行首的代表標志為 ^ ,這個我們留待下節介紹!先有概念即可! 范例二:承上,如果我想要將所有的符號都列出來?(用 cat) [root@www ~]# grep '^MANPATH' /etc/man.config | head -n 3 |cat -A MANPATH^I/usr/man$ MANPATH^I/usr/share/man$ MANPATH^I/usr/local/man$ # 發現差別了嗎?沒錯~ [tab] 按鍵可以被 cat -A 顯示成為 ^I 范例三:承上,我將 [tab] 按鍵配置成 6 個字符的話? [root@www ~]# grep '^MANPATH' /etc/man.config | head -n 3 | \ > expand -t 6 - | cat -A MANPATH /usr/man$ MANPATH /usr/share/man$ MANPATH /usr/local/man$ 123456123456123456..... # 仔細看一下上面的數字說明,因為我是以 6 個字符來代表一個 [tab] 的長度,所以, # MAN... 到 /usr 之間會隔 12 (兩個 [tab]) 個字符喔!如果 tab 改成 9 的話, # 情況就又不同了!這里也不好理解~您可以多配置幾個數字來查閱就曉得!
expand 也是挺好玩的~他會自動將 [tab] 轉成空格鍵~所以,以上面的例子來說, 使用 cat -A 就會查不到 ^I 的字符啰~此外,因為 [tab] 最大的功能就是格式排列整齊! 我們轉成空格鍵后,這個空格鍵也會依據我們自己的定義來添加大小~ 所以,並不是一個 ^I 就會換成 8 個空白喔!這個地方要特別注意的! 此外,您也可以參考一下 unexpand 這個將空白轉成 [tab] 的命令功能啊! ^_^
參考資料:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash.php#expand