sed를 사용하여 특수 문자 "로 시작하는 정확한 단어를 바꾸는 방법

sed를 사용하여 특수 문자 "로 시작하는 정확한 단어를 바꾸는 방법

'/hotel'을 '/Tay'로 바꿔야 합니다.

나는 ? $ 하지만 구할 수 없어

답변1

사람들은 일반적으로 슬래시를 /sed 구분 기호로 사용하지만 원하는 문자를 사용할 수 있습니다 !. 이상적으로는 검색에 표시되지 않거나 텍스트를 바꾸는 구분 기호를 사용하십시오. 그렇지 않으면 인용해야 합니다.

$ echo '"/hotel' | sed s!^"/hotel!"/Tay!
"/Tay

나는 인용한다:

"호텔

작은따옴표로 인해 쉘이 혼동되는 것을 방지하려면 작은따옴표를 사용하십시오. 다음은 따옴표가 없는 버전입니다(따라서 큰따옴표는 셸에서 이스케이프되어야 합니다).

$ echo \"/hotel | sed s!^"/hotel!"/Tay!

^줄 시작 부분에서 강제로 일치하도록 "줄 시작" 문자를 포함하도록 편집되었습니다 . 불일치의 예:

$ echo foo\"/hotel | sed s!^"/hotel!"/Tay!
foo"/hotel

답변2

이를 수행하는 한 가지 방법은 탈출하는 것입니다./그리고"와 함께 "\"

echo '"/호텔' | sed 's/\"/hotel/Tay/g'

관련 정보