awk 中的定义变量问题

我觉得这个问题还真是有趣的让我头疼啊。。。

我在begin 中定义一了个变量 name="li";
然后在之后 的{}中调用 ,我用了一个正则匹配,{if($1~/^'"$(name)"'/) {print name;}}
正常运行 ,改成print “ ”,也正常运行,但是如果改成 count++;
就会提示我 name:not found.
晕死了,求救啊

  1. 你在awk里面定义了变量name,使用时直接用name就可以了;
  2. count也需要在begin当中先定义并附上初值;
  3. 根据你的命令,你的需求应该是统计一下包含name内容的行数? 是么? awk 'BEGIN{name="a"; count=0}{if($1 ~ name){count++}}END{print count}' $stdoutdir

你先定义count=0,然后再主体中使用