Bash 将变量添加到awk命令

Bash 将变量添加到awk命令,bash,awk,Bash,Awk,我有一个awk命令,我需要在其中放入一个日期变量。我肯定我遗漏了一些语法。有专家能帮我吗?基本上,我需要的日期是可变的,这取决于脚本运行的时间 date=$(date --date="1 month ago" +"%d-%b-%Y") wget -qO - http://*********/users.csv > users awk 'NR==1 {print "Primary Comments,Customer Account Number,Transacti

我有一个awk命令,我需要在其中放入一个日期变量。我肯定我遗漏了一些语法。有专家能帮我吗?基本上,我需要的日期是可变的,这取决于脚本运行的时间

date=$(date --date="1 month ago" +"%d-%b-%Y")
wget -qO - http://*********/users.csv > users
awk      'NR==1          {print "Primary Comments,Customer Account Number,Transaction Date,Service Description,Quantity,Unit,Price,Service Category,PI\x27sName,Purchaser\x27s Last Name,Short Contributing Center Name,Resource Name,Line Item Assistant,Line Item Comments"}
          FNR==NR        {S[$1]=$2; P[$1]=$3; next}
          $1 in S        {print "Bruker 500 NMR",P[$1],date,"500 MHz",$2/60,"Hour","5","500 MHz",S[$1],$1,"","501 NMR","","" }
          ' FS="," OFS="," OFMT="%.2f" $date users FS=" " wtmp > billing-$inst-$date.csv

使用
-v
选项

awk -v date="$date" ....

但是GNUawk(
gawk
)有自己的时间函数,这里有文档记录:

将回答同样的问题。为了给脚本添加更多的信息,我强烈建议将AWK部分存储在一个单独的文件中,然后执行
AWK-v date=“$date”-f myscript.AWK…
谢谢!我试图使用
-v
选项,但一直出现错误。不过我已经弄明白了。