我有这样的文本文件:
$ 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
我只想把第三场(一次100
包含在$3
)的100
换成2000
。 我如何使用awk
完成这项工作?
这里有一个使用awk
:
awk '{ sub(/100$/, "2000", $3) }1' file
结果:
12 13 22000 s 12 13 32000 s 100 13 2000 s 12 13 300 s
尝试:
awk '{$3=gensub(100,2000,1,$3);print}' test.txt
awk '$3~/100/{gsub(/100/,"2000",$3)}1' your_file