linux-shell编程中awk变量的使用

前言

在linux写shell脚本的时候,经常会使用awk处理文本以及进行运算。既然是脚本就会使用到变量,但是awk处理文本里面是无法直接使用shell变量,需要awk通过-v参数进行变量传递的。

参数传递变量

TIMEOUT=60

awk -v timeout="$TIMEOUT" 'BEGIN '

注意:这里timetout是不能加$,只是声明timeout变量。

也可以有其他方法

var="shell"

awk 'BEGIN'

这种写法其实际是双括号变为单括号的常量,传递给了awk,这里就会遇到空格的问题,会导致awk出现异常,因此就需要多加一个双引号进行处理

var="bash shell"

awk 'BEGIN'

总结

根据我的习惯是使用参数传递变量的方式,这样子不会因为引号出现混乱。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180627A1VHCA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券