$ cat -t space for i in list;do echo$i done if aaa;then do aaa elif bbb;then do bbb else do ccc fi echo"a b c d" # 只转换行首的空格 $ unexpand --first-only -t4 space |cat -t for i in list;do ^Iecho $i done if aaa;then ^Ido aaa elif bbb;then ^Ido bbb else ^Ido ccc fi echo"a b c d"
# 转换1,2,3,4个空格为tab,超出空格数后转换会有问题,格式显示错乱 $ cat -t a a b c d a b c d a b c d $ unexpand -t1 a|cat -t a b c d a^I^Ib^I^Ic^I^Id a^I^I^Ib^I^I^Ic^I^I^Id $ unexpand -t2 a|cat -t a b c d a^I b^Ic^I d a^I^Ib^I^Ic^I^Id $ unexpand -t3 a|cat -t a b c d a^Ib^Ic^Id a^I b^I c^Id # 自动识别到了a b c中间的两个空格,并累加为4个空格进行转换,所以tab符号显示在c d之间 $ unexpand -t4 a|cat -t a b c d a b c^I d a^Ib^Ic^Id