awk:仅在特定字段中查找和替换 [英] awk: find and replace in certain field only

查看:424
本文介绍了awk:仅在特定字段中查找和替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a text file like this:

$ 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(一旦$3中包含100)替换为2000.如何使用awk完成这项工作?

I only want to replace 100 in field 3 (once 100 is contained in $3) into 2000. How can I accomplish this job using 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:仅在特定字段中查找和替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆