小编Fis*_*der的帖子

为什么 sed 输出 -e 表达式 #1,字符 55:前面的正则表达式无效

我正在编写 sed 命令来查找和替换逗号分隔字符串中的键=值。

文件中的示例字符串: KEY_1=value_1,KEY_2=value_2,SOMEKEY=lastValue

使用的 sed 命令:

sed -r 's/KEY_2=.*?((?=,)|$)/KEY_2=new_value/' myFile.txt
Run Code Online (Sandbox Code Playgroud)

如果 Key 存在,则用新的 key=value 替换它及其值。大多数值将以逗号“,”结尾,但例外情况是字符串中的最后一个 key=value 不会有 ,。

它在 RedHat Linux VM 上给了我以下错误消息

sed:-e 表达式 #1,字符 55:前面的正则表达式无效

我相信这是我尝试的最后一个 '/' /g ,它也是 excptable ,因为原始字符串中不应重复任何键。

rhel sed regular-expression

2
推荐指数
1
解决办法
2829
查看次数

标签 统计

regular-expression ×1

rhel ×1

sed ×1