2

我需要将字段的最终大小限制为 2048。我可能会使用:

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

但是有更好的方法吗?

4

4 回答 4

5

You could use printf

printf "%.2048s\n", $2
于 2014-02-27T19:12:34.380 回答
2

Alternate way:

printf "%.2048s", $2
于 2014-02-27T19:12:44.647 回答
1

原生 bash 参数切片怎么样

printf "%s" ${2:0:2048}
于 2014-02-27T19:43:06.713 回答
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 
于 2014-02-27T19:13:47.877 回答