text.xml에서 단어를 바꾸기 위해 sed를 사용하고 있습니다.sed formatting 큰 따옴표 작은 따옴표
text.xml은 다음과 같습니다
some line
<state name='generate'>
notify
</state>
some line
나는 단어 지금까지이 명령은 '발신자와 을'통보 '대체하기 위해 노력하고있어 :
sed -i "/<state name=\'generate\'>/,/<\/state>/s/notify/caller/" ./test.xml
I을 사이에 줄의 범위를 줄 것입니다. 그 줄 사이에 나는 전화하는 사람에게 바뀌고있는 'notify'라는 단어가 있습니다.
인용문이 맞는지 확실하지 않습니다. 감사합니다. 감사합니다.
편집 : 생성 주위에 이스케이프 문자를 제거하여 작동하도록했습니다.
sed -i "/<state name='generate'>/,/<\/state>/s/notify/caller/" ./test.xml
누구나 그 이유를 알고 있습니까? 당신이 샌드위치에 전체 표현식을 큰 따옴표를 사용하는 경우 작은 따옴표를 이스케이프 할 필요가 없습니다 것 같다
큰 따옴표를 사용하여 전체 식을 샌드위치 할 때 작은 따옴표를 이스케이프 할 필요가없는 것 같습니다. 나는 당신이 single quote 샌드위치로 대신 시도한 첫 번째 명령을 시도했는데 쉘이 뭔가를 기다리고있는 것 같았습니다. – Siddhartha
작은 따옴표를 한 번 사용할 때 이스케이프 문자가 필요합니다. 두 명이라면 시작과 끝이 있기 때문에 자신을 취소합니다. – Sazzy