내 myfile.conf에는 다음이 포함되어 있습니다.
ServerAlias *.mysite.com
다음으로 변환하려고 합니다.
ServerAlias *.xxmysite.com
하지만 나는 다음을 얻습니다.
ServerAlias *.xx.mobilsem.com
areemplazar="ServerAlias *."
reemplazo="ServerAlias *.xx"
sed -i '' -- "s|${areemplazar}|${reemplazo}|g" ./myfile.conf
"ServerAlias *"와 같은 이스케이프 포인트를 사용할 때. , 교체가 없습니다.
내가 뭘 잘못했나요?
답변1
정규식 메타 문자인 마침표 .
와 별표는 *
문자 그대로 처리하기 위해 이스케이프되어야 합니다.
입력 파일 예:
$ cat input.txt
ServerAlias *.mysite.com
sed 's/ServerAlias \*\./&xx/' input.txt
ServerAlias *.xxmysite.com