我有一个这样的文本文件:
$ cat test
12 13 2100 s
12 13 3100 s
100 13 100 s
12 13 300 s
我希望输出如下:
$ cat test
12 13 22000 s
12 13 32000 s
100 13 2000 s
12 13 300 s
我只想将字段3中的100
(100
中包含$3
)替换为2000
。如何使用awk
完成此工作?
答案 0 :(得分:10)
这是使用awk
的一种方式:
awk '{ sub(/100$/, "2000", $3) }1' file
结果:
12 13 22000 s
12 13 32000 s
100 13 2000 s
12 13 300 s
答案 1 :(得分:1)
awk '$3~/100/{gsub(/100/,"2000",$3)}1' your_file
答案 2 :(得分:1)
尝试:
awk '{$3=gensub(100,2000,1,$3);print}' test.txt