sed模式似乎不匹配/替换

时间:2018-05-12 11:34:36

标签: regex linux sed

我正在尝试用模式替换sed

s/^\(ENGINE.*\)DEFAULT CHARSET=utf8mb4$/\1/g

但它似乎不起作用。有人可以告诉我,我做错了什么?

我正在尝试替换

ENGINE=InnoDB AUTO_INCREMENT=19391 DEFAULT CHARSET=utf8mb4

ENGINE=InnoDB AUTO_INCREMENT=19391

1 个答案:

答案 0 :(得分:0)

regexp末尾的$告诉sed只有匹配regexp才会出现在行尾。因此,它不匹配,因为该行以;结尾。所以,不要那样做,而是这样做:

s/^\(ENGINE.*\)DEFAULT CHARSET=utf8mb4/\1/g