bash 变量作为 awk 字段宽度



我有一个变量:n=$maxlen,在awk中使用printf时,有什么方法可以将其用作字段宽度吗?

像这样:

n=$maxlen
awk -v val=$n -F',' '{printf "%vals %7s %17s %4in", $1, $2, $3, $4}' somefile.txt

想通了! :D

n=$maxlen
awk -v val=$n -F',' '{printf "%*s %7s %17s %4in", val, $1, $2, $3, $4}' somefile.txt

一种选择是背着AWK的,让Bash将数字直接放入AWK脚本中:

awk -v -F',' '{printf "%'"$n"'s %7s %17s %4in", $1, $2, $3, $4}' somefile.txt

据AWK所知,%'"$n"'s是一个实际的%3s(或其他什么)。

相关内容

  • 没有找到相关文章

最新更新