AWK 如果字段一等于变量值则更新字段二和三

AWK if field one is equal to vaiable value then update field two and three

我正在编写 shell 脚本来处理 CSV 文件。我有一个 csv 文件,如下所示。

cat list.csv
0003812,3,2
0000808,0,0
0003346,1,0
0018003,8,1
0044477,3,0
0197183,0,0

在脚本中,我提出了逻辑,我从该文件的变量 "var" 中获取第一个字段的值。如果 vaiable "var" 的值与字段 1 匹配,我需要增加字段 2 和 3。我需要确保将更改后的值放回同一文件的同一字段中。

我尝试了类似下面的方法,但它不起作用

awk -F, '=="$var" {+=1;+=1}1' OFS=, /foo/bar.csv

如果 var="0044477"

,则以下是预期输出
Output
0003812,3,2
0000808,0,0
0003346,1,0
0018003,8,1
0044477,4,1
0197183,0,0

像这样使用awk

var='0044477'

awk -v val="$var" 'BEGIN{FS=OFS=","} ==val{++; ++} 1' list.csv

0003812,3,2
0000808,0,0
0003346,1,0
0018003,8,1
0044477,4,1
0197183,0,0

请使用以下命令。

变量='some_value'

awk -F',' '{ if(=='"$Var"') { print ,+1,+1 } else {print ,,} }' file.dat