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
.