unexpand 命令用于将给定档案中的空白字元 (space) 转换为制表符 (TAB), 并把转换结果显示在标准输出装置 (显示终端). 功能与 expand 相反.
语法:
unexpand [options]
引数:
-a/-all : 转换档案中所有空白字元;
–first-only : 仅转换开头的空白字元;
-t : 指定 TAB 所代表的 n 个字元数, 预设 n 值为 8;
 
这里我想通过将 expand 将 tab 键转换为空格, 储存到 03.txt 档案中, 如下:
#grep “^MANPATH” /etc/man.config | head -n 3 |expand -t 6  > 03.txt
# cat -A 03.txt
MANPATH     /usr/man$
MANPATH     /usr/share/man$
MANPATH     /usr/local/man$
接下来, 我以 2 个空格为一个单位转换为一个 tab 键, 如下:
# cat  03.txt | unexpand -t 2 | cat -A
MANPATH^I^I^I/usr/man$
MANPATH^I^I^I/usr/share/man$
MANPATH^I^I^I/usr/local/man$
原来有 6 个空格, 所以这里显示出三个^I.