小编Dav*_*ith的帖子

使用printf格式化输出:截断或填充

我想产生以下输出:

> Avril Stewart  99  54
> Sally Kinghorn 170 60
> John Young     195 120
> Yutte Schim... 250 40
Run Code Online (Sandbox Code Playgroud)

如您所见,短于14个字符的名称将用空格填充.截断超过15个字符的名称:'Yutte Schimmelpenninck'截断为'Yutte Schim ......'.

以下是我试图做到这一点(变量$name,$height以及$weight从文件中提取,并运行一个循环的printf每个文件数据的命令):

printf '%-14s -%3s -%3s\n' "$name" "$height" "$weight"
> Avril Stewart  99  54
> Sally Kinghorn 170 60
> John Young     195 120
> Yutte Schimmelpenninck 250 40
Run Code Online (Sandbox Code Playgroud)

printf单行是所希望的解决方案.

什么代码会产生第一个输出块?

bash awk printf formatted output

4
推荐指数
3
解决办法
3769
查看次数

标签 统计

awk ×1

bash ×1

formatted ×1

output ×1

printf ×1