awk:仅在某些字段中查找和替换

Yis*_*ang 3 linux bash awk

我有这样的文本文件:

$ cat test
12 13 2100 s
12 13 3100 s
100 13 100 s
12 13 300 s
Run Code Online (Sandbox Code Playgroud)

我希望输出如下:

$ cat test
12 13 22000 s
12 13 32000 s
100 13 2000 s
12 13 300 s
Run Code Online (Sandbox Code Playgroud)

我只想100在字段3中替换(一次100包含在内$3)2000.我怎样才能完成这项工作awk

Ste*_*eve 10

这是使用的一种方式awk:

awk '{ sub(/100$/, "2000", $3) }1' file
Run Code Online (Sandbox Code Playgroud)

结果:

12 13 22000 s
12 13 32000 s
100 13 2000 s
12 13 300 s
Run Code Online (Sandbox Code Playgroud)