我想打印具有不同数量元素的记录,或者,例如,锯齿状数组。元素类型是%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>
如何声明每个元素?
是否有(g)awk等同于C的vprintf或者说printf "%s *%d" el for el in array
,其中%d说明符会自动重复正确的次数。
我在Google上找不到任何令我惊讶的内容。我无法想象我是第一个想要以相当格式化的方式打印锯齿状阵列的人。
答案 0 :(得分:2)
echo "abc 1 2 3 4 5
def 8 9
sometext 5000 23 4 34 56 112" |
awk '{printf "%10s", $1 OFS;
for(i=2;i<=NF;i++) printf "%5d", $i OFS;
print ""}'
abc 1 2 3 4 5
def 8 9
sometext 5000 23 4 34 56 112
答案 1 :(得分:0)
INTNX