我在container[x]
下有一堆变量,其中x是一个未定义的数字,每个变量都由一个单词和数字组成,格式如下elegant_kalam: 5.30%
.
我需要做的是仅取每个变量的第一个百分比数字(在本例中为“5”)。 我最近一直在学习 awk,并且通过“-v 和 var=”发现我可以采用变量而不是文件,问题是,我如何使用 awk 获取每个变量的数量,使用变量而不是文件
我带来的是
MEDIDOR_ACTUAL=$(awk -v var="${container[$x]}" 'BEGIN {print var}')
echo $MEDIDOR_ACTUAL
但显然我打印整行而不是我想要的。
最佳答案
您不需要将变量传递给 awk
。只需使用:
awk '{print int($2+0)}' <<< "${container[$x]}"
5
+0
会将$2
即5.30%
转换为数字5.3
int
函数会将其转换为整数,即5
。
关于variables - awk -v,仅打印整个变量的一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59312059/