Variables awk-v,只打印整个变量的一个字
我在Variables awk-v,只打印整个变量的一个字,variables,awk,Variables,Awk,我在容器[x]下有一组变量,其中x是一个未定义的数字,每个变量都由一个单词和一个数字组成,格式为优雅的\u kalam:5.30% 我需要做的是只取每个变量的第一个百分比(在本例中为“5”)。 我最近一直在学习awk,通过“-v和var=”发现我可以使用变量而不是文件,问题是,如何使用awk,使用变量而不是文件来获取每个变量的数量 我带来的是 MEDIDOR_ACTUAL=$(awk -v var="${container[$x]}" 'BEGIN {print var}') echo $MED
容器[x]
下有一组变量,其中x是一个未定义的数字,每个变量都由一个单词和一个数字组成,格式为优雅的\u 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]}"
将+0
即$2
转换为一个数字5.30%
5.3
函数将其转换为整数,即int
5
5