首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将item4和item5替换为item3

将item4和item5替换为item3
EN

Unix & Linux用户
提问于 2020-02-14 14:31:57
回答 2查看 44关注 0票数 -2

如果我有这样的数据,

代码语言:javascript
运行
复制
1 item1,
2 item2,
3 item3,
4 item4,
5 item5

我想用item4和item5替换item3

除了这个还有别的吗?

代码语言:javascript
运行
复制
awk -F ' ' '{gsub("item4","item3",$2);gsub("item5","item3",$2); print}' OFS=" " file
EN

回答 2

Unix & Linux用户

发布于 2020-02-14 15:10:06

output

你会有

代码语言:javascript
运行
复制
1 item1,
2 item2,
3 item3,
4 item3,
5 item3

如果你也有item48item522等。

它是

代码语言:javascript
运行
复制
output
票数 1
EN

Unix & Linux用户

发布于 2020-02-14 16:11:41

若要将行与item44item51不匹配,请在替换值(如博鲁索氏 sed解决方案)之前测试可选逗号(,?)和字段结束($):

代码语言:javascript
运行
复制
awk '$2 ~ /^item[45],?$/{ gsub(/item[45]/, "item3", $2) } 1' file

或者是GNU awk的S gensub

代码语言:javascript
运行
复制
awk '{ $2=gensub(/^item[45](,?)$/, "item3\\1", 1, $2) } 1' file
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/567600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档