如果我有这样的数据,
1 item1,
2 item2,
3 item3,
4 item4,
5 item5我想用item4和item5替换item3
除了这个还有别的吗?
awk -F ' ' '{gsub("item4","item3",$2);gsub("item5","item3",$2); print}' OFS=" " file发布于 2020-02-14 15:10:06
是output
你会有
1 item1,
2 item2,
3 item3,
4 item3,
5 item3如果你也有item48,item522等。
它是
output发布于 2020-02-14 16:11:41
若要将行与item44或item51不匹配,请在替换值(如博鲁索氏 sed解决方案)之前测试可选逗号(,?)和字段结束($):
awk '$2 ~ /^item[45],?$/{ gsub(/item[45]/, "item3", $2) } 1' file或者是GNU awk的S gensub:
awk '{ $2=gensub(/^item[45](,?)$/, "item3\\1", 1, $2) } 1' filehttps://unix.stackexchange.com/questions/567600
复制相似问题