AWK:有没有办法限制输出字段的宽度?

时间:2014-02-27 19:08:21

标签: linux bash awk gawk nawk

我需要将字段的最终大小限制为2048.我可以使用:

ACTION_PARAMETER=substr($2,1,2048);

但是有更好的方法吗?

4 个答案:

答案 0 :(得分:5)

您可以使用printf

printf "%.2048s\n", $2

答案 1 :(得分:2)

替代方式:

printf "%.2048s", $2

答案 2 :(得分:1)

您可以使用FS字段分隔符""进行播放,然后限制字段数NF

awk 'BEGIN{FS=OFS=""} NF=2048' file

使用3代替2048

的示例
$ cat a
hello
how are
you
i am ok

$ awk 'BEGIN{FS=OFS=""} NF=3' a
hel
how
you
i a

或甚至作为参数:

$ awk -v limit=2 'BEGIN{FS=OFS=""} NF=limit' a
he
ho
yo
i 

答案 3 :(得分:1)

原生bash参数切片怎么样

printf "%s" ${2:0:2048}