如何使用awk增加文本文件中列之间的空间?
答案 0 :(得分:0)
最简单的方法可能是使用格式宽度说明符。这取决于您的数据。
{
for (i = 1; i <= NF; i++) {
printf("%9s ", $i);
}
printf("\n") ;
}
上面的%9
告诉awk在9个字符宽的空间中打印每个字段。如果数据超过9个字符,awk将使用所需的空间。
printf()
非常灵活。例如,对于包含四个字段的输入文件,您可以执行以下操作来控制输出格式。
printf("%d %9s $d: %s\n", $1, $2, $3, $4);
答案 1 :(得分:0)
如果您想让输出更漂亮,请使用column
:
$ printf "%s %s %s\n" one two three four five six seven eight nine
one two three
four five six
seven eight nine
$ printf "%s %s %s\n" one two three four five six seven eight nine | column -t
one two three
four five six
seven eight nine
答案 2 :(得分:0)
这可能对您有用:
cat <<\! >file
> a b c d
> w x y z
> !
cat file
a b c d
w x y z
awk -v OFS=' ' '{$1=$1};1' file
a b c d
w x y z