gpt4 book ai didi

regex - sed 和正则表达式问题

转载 作者:行者123 更新时间:2023-12-04 05:08:12 24 4
gpt4 key购买 nike

我需要帮助对文件执行 sed 语句,但我似乎无法弄清楚为什么我所拥有的不起作用。我进行了彻底的搜索,每个结果都得出了类似的结果,但是我不明白为什么我的结果没有我期望的结果。

我有一个包含多个列表的文件,例如

192.168.10.23:7020
192.168.10.23:4520
192.168.10.23:3320

等等,基本上我需要用 192.168.10.23:XX21 替换 192.168.10.23:XX20。

其中,我尝试过:
sed 's/\:\([0-9]\)\{2\}20/\:&21/g' $file

这给出了如下结果:
192.168.10.23:702021
192.168.10.23:452021
192.168.10.23:332021

还有:
sed 's/\:\([0-9]\)\{2\}/\:&21/g'

这给出了如下结果:
192.168.10.23:702120
192.168.10.23:452120
192.168.10.23:332120

其他尝试要么根本没有改变,要么产生截然不同的结果。我觉得我很近,但又很远。任何帮助将不胜感激!

最佳答案

为什么你不能只是

sed 's/20$/21/'

但也有可能,本着您原始解决方案的精神:
sed 's/\(:[0-9]*\)20/\121/'

而不是 & ,它使用 \1 ,它只重复括号匹配的部分。

关于regex - sed 和正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15233432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com