使用expand
,我不明白它将制表符转换为多少个空格。从info expand
:
默认情况下,展开会将所有制表符转换为空格。它在输出中保留退格字符;它们减少选项卡计算的列数。默认操作相当于 -t 8(每 8 列设置制表符)。
但是:
$ cat file
aa bb
$ cat -A file
aa^Ibb$
$ wc -m file
6 file
$ expand file > file2
$ cat -A file2
aa bb$
$ wc -m file2
11 file2
这里它将制表符转换为 6 列。为什么?
答案1
这扩张实用程序应将文件或标准输入写入标准输出,并将字符替换为填充到下一个制表位所需的
<tab>
一个或多个字符。<space>
-t 8
放置选项卡停止相隔 8 个字符。由于输入aa
在制表符之前的行开头还有两个其他字符 ( ),因此只需六个空格即可到达下一个制表位。