Unix 变量的AWK赋值
我正在寻找将变量的值赋值给awk中的另一个变量 下面是一个例子Unix 变量的AWK赋值,unix,awk,Unix,Awk,我正在寻找将变量的值赋值给awk中的另一个变量 下面是一个例子 if (substr($0,1,1) == "4") { COUNT_DETAIL_SEG++ SUM_OF_DETAIL_RCDS=$(COUNT_DETAIL_SEG) print "Sum of detail records is" SUM_OF_DETAIL_RCDS } 假设行的第一个字符是“4”,那么我想增加COUNT\u DETAIL\u SEG的值,并将该值分配给SUM\u of\u DE
if (substr($0,1,1) == "4")
{
COUNT_DETAIL_SEG++
SUM_OF_DETAIL_RCDS=$(COUNT_DETAIL_SEG)
print "Sum of detail records is" SUM_OF_DETAIL_RCDS
}
假设行的第一个字符是“4”,那么我想增加COUNT\u DETAIL\u SEG
的值,并将该值分配给SUM\u of\u DETAIL\u rcd
,从而打印它。
但我无法保留这个值。
有人知道这件事吗?我想不是
SUM_OF_DETAIL_RCDS=$(COUNT_DETAIL_SEG)
你想要:
SUM_OF_DETAIL_RCDS=COUNT_DETAIL_SEG
因为在中,当您输入
$(INT)
时,您没有引用当前输入行的第N列。可能您希望在awk语句的开头执行此操作@斯普特尼克在正确的轨道上
awk -v var="$bash_var" '{ awk code here}'
这将使用awk内部变量
var
而不是shell变量bash\u var
,感谢您接受符合您需要的答案。那是我们的工作。