使用
printf
函数,可以多次打印一个字符。$ printf "%0.s-" {1..5}
-----
在awk
中我知道我可以像这样做something like:
$ awk 'BEGIN {while (i++ < 5) printf "-"}'
-----
但我想知道 awk的printf
是否也支持这个功能。
我仔细研究了printf
修饰符页面,但没有找到如何实现。总的来说,Bash的printf会展开{1..5}
并为每个参数打印一个-
,因此它等同于以下语句。
$ printf "%0.s-" hello how are you 42
-----
然而,我不知道如何使用awk的printf来模仿此行为(如果可能的话),因为这样做会失败:
$ awk 'BEGIN {printf "%0.s-", 1 2 3 4 5}'
-
perl -e "print '5'x60"
:-) - Mark Setchellawk
并不那么聪明 :/ 无论是print "a" * 3
还是print "a" x 3
都不起作用。 - fedorqui