gpt4 book ai didi

regex - 如何在 mac os x (BSD) sed 上转义加号?

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

我正在尝试在 Mac 上使用 sed 查找和替换一个或多个出现的字符,sed 来自 BSD 通用命令。

我尝试:

echo "foobar" | sed -e "s/o+//g

期待看到:

fbar

但是我看到了

foobar

我当然可以手动扩展加号:

echo "foobar" | sed -e "s/oo*//g"

但是我需要做什么才能使加号正常工作?

最佳答案

使用 /g 标志,s/o//g 足以替换所有出现的 o。

为什么 + 没有按预期工作: 在旧的、过时的 re + 中是一个普通字符(以及 |, ?).您应该将 -E 标志指定给 sed 以使其使用现代正则表达式:

echo "foobar" | sed -E -e "s/o+//"
# fbar

来源:man 7 re_format

关于regex - 如何在 mac os x (BSD) sed 上转义加号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4453760/

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