여러 줄의 xml이 들어있는 파일이 있습니다. 파일의 특정 부분을 바꾸고 싶습니다. 파일의 일부 부분에는 따옴표 ( "
)가 포함되어 있습니다 . 로 따옴표 를 이스케이프 하려고 시도 \
했지만 파일 결과에 따라 이것이 작동하지 않는다고 생각합니다.
내 sed 명령 중 하나의 예는 다음과 같습니다.
sed -e "s/\"text\"/'text'/ig" file.xml > temp.tmp
이것이 sed 명령에서 따옴표를 이스케이프 처리하는 방법입니까, 아니면 내가 잘못하고 있습니까?
\"
나오지 명령에 인용 부호를 이스케이프의 올바른 방법은 무엇입니까?
"
. 그러나 쉘 명령은 큰 따옴표로 묶인 문자열을 사용하며 \"
정확합니다. sed
프로그램은보고 s/"text"/'text'/ig
에 대한 인수로 -e
.
s/\"text\" /'text'/ig
겠습니까을 만 찾아 "text"
그 이후의 공간?
sed
작업에 적합한 도구 인지 는 확실하지 않으며 XML 파서를 원할 수도 있습니다.
"text"
와'text'
. 물론 아무것도하지 않습니다"othertext"
. 몇 개의 입력 라인, 해당하는 원하지 않는 출력을 표시하고 대신 원하는 출력을 설명하십시오.