我需要将字段的最终大小限制为 2048。我可能会使用:
ACTION_PARAMETER=substr($2,1,2048);
但是有更好的方法吗?
You could use printf
printf "%.2048s\n", $2
Alternate way:
printf "%.2048s", $2
原生 bash 参数切片怎么样
printf "%s" ${2:0:2048}
您可以使用字段分隔符FS
,""
然后限制字段数量NF
:
awk 'BEGIN{FS=OFS=""} NF=2048' file
$ 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