gpt4 book ai didi

linux - 为什么 Sed 不能替换包含 . + 和 *

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:49 28 4
gpt4 key购买 nike

我有一个大文件,其中一些行如下:

....    ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*

我想用 ...+PUNCT 替换 ....+UNKNOWN

为此,我做了以下工作:

sed 's/\.\.\.\.\+\*UNKNOWN\*/\.\.\.\+PUNCT/g' myfile.out > myfile_result.out

然而,没有一行消失。

grep -F '...+*UNKNOWN*' myfile.out 

.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*
.... ....+*UNKNOWN*

我找不到我的错误,你能帮我吗?

最佳答案

sed的某些版本中,\+有特殊含义,使用+来匹配加号。

关于linux - 为什么 Sed 不能替换包含 . + 和 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46527256/

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