awk更新记录

时间:2013-01-20 17:17:36

标签: bash awk

我在文本文件中有数据:

Customer:HDB:Price:Left:total
Ted 1:rm4:34:197:101

我正在尝试将left和total的最新记录更新到数据库。为什么这个表达不起作用?

awk -F : -v OFS=: -v customer=$customer-v hdb=$hdb \
   -v left=$left -v total=$total \
   '$1==customer && $2==hdb {`$4=left $5=total;`}1' file

1 个答案:

答案 0 :(得分:1)

1)你忘记了;

$4=left; $5=total;

2)此处需要空间:

customer=$customer -v

3)``这里不需要:

{$4=left; $5=total;}

这应该有效:

awk -F : -v OFS=: -v customer="$customer" -v hdb="$hdb" -v left="$left" \
  -v total="$total" '$1==customer && $2==hdb { $4=left; $5=total } 1' file