我需要将字段的最终大小限制为 2048。我可能可以使用:
ACTION_PARAMETER=substr($2,1,2048);
但是有更好的方法吗?
你可以
使用 printf
printf "%.2048sn", $2
替代方式:
printf "%.2048s", $2
您可以使用
字段分隔符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
原生 bash 参数切片怎么样
printf "%s" ${2:0:2048}