5

我有一个这样的文本文件:

$ 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包含在 中$3)替换为2000. 我怎样才能完成这项工作awk

4

3 回答 3

12

这是一种使用方法awk

awk '{ sub(/100$/, "2000", $3) }1' file

结果:

12 13 22000 s
12 13 32000 s
100 13 2000 s
12 13 300 s
于 2012-12-27T12:41:23.747 回答
1
awk '$3~/100/{gsub(/100/,"2000",$3)}1' your_file
于 2012-12-27T12:43:37.087 回答
1

尝试:

awk '{$3=gensub(100,2000,1,$3);print}' test.txt
于 2012-12-27T12:55:47.053 回答