将空白转换为制表符命令unexpand

unexpand 命令用于将给定文件中的空白字符(space)转换为制表符(TAB),并把转换结果显示在标准输出设备(显示终端).功能与expand相反.

语法:

unexpand [options]

参数:

-a/-all : 转换文件中所有空白字符;

–first-only : 仅转换开头的空白字符;

-t<n> : 指定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.