bash - 如何将 bash 变量作为 awk 参数的值传递?

标签 bash scripting awk

我想用 bash 变量替换 awk 命令中的变量。

例如:

var="one two three"    
echo $var | awk "{print $2}"

我想用 var 变量替换 $2。我试过 awk -v 以及类似 awk "{ print ${$wordnum} } 的东西都无济于事。

最佳答案

截然不同的方法:

$ echo $var
one two three

$ field=3

$ echo $var | awk -v f="$field" '{print $f}'
three

$ field=2

$ echo $var | awk -v f="$field" '{print $f}'
two

关于bash - 如何将 bash 变量作为 awk 参数的值传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14883186/

相关文章:

shell - 如何将时间戳添加到 STDERR 重定向

scripting - 在 ClearCase 中查找指向某个版本的合并箭头

apache - SSL脚本问题

regex - 从文本文件中获取范围模式中的特定行

Bash 交换文件中具有不同 UUID 的字符串

bash - 如果文件不存在,则使用逗号值将内容追加到文件中

javascript - 有没有办法在预启动 npm 脚本中自动运行 "nvm use"?

linux - 登录后运行 bash 脚本

regex - 通过 sed 取消注释结束赞誉

linux - 使用 awk 命令一次更改多个文件的文件类型