variables - awk -v,仅打印整个变量的一个单词

标签 variables awk

我在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 会将 $25.30% 转换为数字 5.3
  • int 函数会将其转换为整数,即 5

关于variables - awk -v,仅打印整个变量的一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59312059/

相关文章:

ios - 停止Titanium Appcelerator中其他选项卡的声音

awk 相当于 MySQL 的 substring_index

javascript - 访问不使用变量的对象

variables - window 上的 Jenkins 。声明式管道 jenkinsfile。如何设置和获取正确的变量值

bash - awk - 将字符串从文件保存到变量

python - 比较 N 个文件的第一列,如果找到匹配则打印第一个文件和剩余文件的第二列

linux - awk: 一个文本文件中的词频,如何输出到myFile.txt?

csv 文件 - 删除字符串中间的换行符

css - 关于 Blogger 变量定义

PHP 在路径中包含一个变量