regex - sed 模式似乎不匹配/替换
问题描述
我正在尝试用模式替换 sed
s/^\(ENGINE.*\)DEFAULT CHARSET=utf8mb4$/\1/g
但它似乎不起作用。有人可以告诉我我做错了什么吗?
我正在尝试替换
ENGINE=InnoDB AUTO_INCREMENT=19391 DEFAULT CHARSET=utf8mb4
和
ENGINE=InnoDB AUTO_INCREMENT=19391
解决方案
编辑:根据 OP 的要求,现在也添加 1 个解决方案。
sed 's/\().*ENGINE[^ ]*\)\( DEFAULT.*\)/\1/' Input_file
以下sed
可能对您有所帮助。
sed 's/ DEFAULT.*//' Input_file
如果您想将输出保存到 Input_file 本身,请使用sed -i
上述代码中的选项。同样在备份原始 Input_file 并将输出保存到 Input_file 的情况下,然后使用sed -i.bak
相同的。
推荐阅读
- javascript - 在 Ajax 之后在 javascript 中显示单选按钮值
- javascript - 将属性添加到 array.reduce() 返回对象的顺序
- java - Play Async 动作中的并行独立休息调用
- python - 这是正确的格式吗
- excel - Excel - 如何查找 4 列的所有可能组合 - (无 VBA)
- excel - 将 SUMPRODUCT 公式转换为 INDEX+MATCH 的问题
- c# - 如何从 asp.net core 3.0 的 UseRouting(...) 委托处理程序返回对象?
- python-3.x - 当我手动写入时,如何让 RadioSelect 遍历特定字段的每个选项?
- npm - Node-sass,node-gyp 错误 npm install error python 3.7 default env in debian linux_x64
- excel - 查找最接近的可用非 0 或 NA 值