通过在UNIX中使用printf函数在行尾添加空格

时间:2019-03-20 04:21:10

标签: printf

我在UNIX中运行以下脚本,该脚本假定在行尾填充9个空格。但是,输出结果与我预期的不同。

# define SPACE " "

void main {
  printf("%13s%9s\n", "Output 1: 123", SPACE);
  printf("%13s%-9s\n", "Output 2: 123", SPACE);
  printf("%13s%9s%1s\n", "Output 3: 123", SPACE, "|");
  printf("%13s%-9s%1s\n", "Output 4: 123", SPACE, "|");
}

结果:

Output 1: 123
Output 2: 123
Output 3: 123         |
Output 4: 123         |

如果我在后面放一些东西,输出1和2会最后修剪空格,输出3和4会保留9个空格。

如何显示“输出1:123”?

欢呼

1 个答案:

答案 0 :(得分:1)

$ awk'{printf“%-ns \ n”,$ 0}“ 其中n是每行要添加的空格数 $ 0代表整行