![SED 使用時のエスケープ括弧](https://rvso.com/image/1414711/SED%20%E4%BD%BF%E7%94%A8%E6%99%82%E3%81%AE%E3%82%A8%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%97%E6%8B%AC%E5%BC%A7.png)
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つの点を修正しました:
- 閉店
'
- 2 番目
-i
を に置き換えましたgi
。大文字と小文字を区別せずにグローバルにしたいのだと思います。 (
通常モードでは括弧をエスケープする必要がないため (エスケープしてはならないため)、括弧をエスケープ解除しました。