170GBのSQLファイルがあります。 AWS RDSで復元しようとしていますが、ファイルでキーリング暗号化が有効になっているため復元できません。セッションがタイムアウトするため、viを使用して編集することはできません。
sedコマンドを使用してこれを実行しようとしていますが、これはできません。
これは私が使用するコマンドですが、文字列値は変更されません。
sed -i 's/ENCRYPTION='Y'/ENCRYPTION='N'/g'
答え1
一重引用符で囲まれた文字列内では、一重引用符は使用できません。
代わりに、式の周りに二重引用符を使用してくださいsed
。
sed -i "s/ENCRYPTION='Y'/ENCRYPTION='N'/g"
これが魔法のようにあなたのデータを復号化するかどうか疑問です。しかし、少なくともあなたが望む方法でファイルの文字列を置き換えます。
ENCRYPTION=Y
元のコマンドを次のように置き換えようとしていますENCRYPTION=N
(欠落している単一引用符を参照)。これは、最初の一重引用符が'Y'
文字列を終了するためですs/ENCRYPTION=
。引用符のない文字列はY
thisに関連付けられ、一重引用符で囲まれた文字列が続き、/ENCRYPTION=
その後に引用符なしの文字列とN
一重引用符で囲まれた文字列が続きます/g
。