使用 SED 时转义括号

使用 SED 时转义括号

我想使用 sed 将文件中的值 varchar(36) 替换为 char(36)。我正在尝试

sed -i ’s/varchar(36)/char(6)/g’ calls_contacts.sql

但命令没有执行。我做错了什么?

答案1

我猜你想做的是:

sed -i 's/varchar(36)/char(36)/gi' calls_contacts.sql

我纠正了 3 件事:

  • 关闭'
  • 将第二个替换-igi。我想您想忽略大小写并实现全局。
  • 我对括号进行了取消转义,(因为在正常模式下它们不需要转义(不能转义)。

相关内容