![sed 명령을 사용하여 슬래시 "/"가 포함된 문자열을 바꿉니다.](https://linux55.com/image/10188/sed%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%8A%AC%EB%9E%98%EC%8B%9C%20%22%2F%22%EA%B0%80%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EB%B0%94%EA%BF%89%EB%8B%88%EB%8B%A4..png)
명령을 사용하여 파일의 문자열을 바꾸는 방법은 무엇입니까 I1Rov4Rvh/GtjpuuYttr==
?mytest
mtestsed.properties
sed
나는 시도했다:
sed -e -i 's/I1Rov4Rvh/GtjpuuYttr==/mytest/g' mtestsed.properties
답변1
sed 구분 기호는 어떤 문자라도 될 수 있습니다. 문자열을 다음으로 바꿔야 하는 상황에 적합합니다./
누구나
이스케이프
/
기호:sed -i 's/I1Rov4Rvh\/GtjpuuYttr==/mytest/g'
다른 구분 기호를 사용하십시오.
sed -i 's|I1Rov4Rvh/GtjpuuYttr==|mytest|g'
sed -i 's:I1Rov4Rvh/GtjpuuYttr==:mytest:g'
답변2
문제는 /
바꾸려는 텍스트에 있습니다. 이는 특수 문자이므로 sed
로 이스케이프 처리해야 합니다 \
. 또한 주석에서 지적했듯이 -e
스크립트 옵션이 필요하기 때문에 명령도 실패합니다.
이것은 작동합니다:
sed -i 's/I1Rov4Rvh\/GtjpuuYttr==/mytest/g' mtestsed.properties