【发布时间】:2017-09-30 13:17:18
【问题描述】:
我想打印具有不同数量元素的记录,或者,例如,一个锯齿状数组。元素类型是 %s 后跟不确定数量的 %d。
示例输入、伪代码、所需输出:
$ echo "abc 1 2 3 4 5
def 8 9
sometext 5000 23 4 34 56 112" |
awk '{printf "% 10s % 5d % 5d*.......", <each element>'
$ abc 1 2 3 4 5
def 8 9
sometext 5000 23 4 34 56 112
% 5d*.......如何指定重复格式子串?
<each element>每个元素如何声明?
是否存在与 C 的 vprintf 等效的 (g)awk 或说 printf "%s *%d" el for el in array,其中 %d 说明符自动重复正确的次数。
我在谷歌上找不到任何令我惊讶的东西。我无法想象我是第一个想要以非常格式化的方式打印锯齿状数组的人。
【问题讨论】:
-
edit 你的问题包括minimal reproducible example 显示简洁、可测试的样本输入和预期输出。见How to Ask。
-
@EdMorton 示例并添加了所需的输出。
标签: arrays awk printf formatted