gpt4 book ai didi

linux - Mac 上的 Sed 正则表达式问题,在 Linux 上工作正常

转载 作者:IT王子 更新时间:2023-10-29 00:26:08 26 4
gpt4 key购买 nike

这在 Linux (Debian) 上运行良好:

sed -e 's,^[ \t]*psd\(.*\)\;,,' 

在 mac 上,我相信我必须使用 -E 标志,而不是 -e:

sed -E 's,^[ \t]*psd\(.*\)\;,,'

但正则表达式不匹配,因此不会删除我想要的行。

关于如何解决这个问题有什么建议吗?

示例输入:

apa
bepa
psd(cepa);
depa psd(epa);
psd(fepa gepa hepa);

对于该输入,预期的输出是:

apa
bepa
depa psd(epa);

最佳答案

-E 标志表示使用扩展的正则表达式。您应该只使用 -e,就像在 Linux 上一样。 Mac OS X 中的 sed 基于 BSD sed,因此没有 GNU 扩展。

复制样本输入后:

[~ 507] pbpaste | sed -e 's,^[[:space:]]*psd\(.*\);,,'
apa
bepa

depa psd(epa);

关于linux - Mac 上的 Sed 正则表达式问题,在 Linux 上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6761361/

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