Escape de colchetes ao usar SED

Escape de colchetes ao usar SED

Gostaria de substituir o valor varchar(36) por char(36) em um arquivo usando sed. estou tentando com

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

Mas o comando não é executado. O que estou fazendo de errado?

Responder1

Eu acho que o que você quer fazer é:

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

Corrigi 3 coisas:

  • Fechou o'
  • Substituiu o segundo -ipor gi. Suponho que você queira considerar o caso e ser global.
  • Tirei o escape dos parênteses, (pois eles não precisam escapar (não devem ser escapados) no modo normal.

informação relacionada