【Linux】字符轉換命令expand


  這命令就是在將 [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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM