&
"&" 를 "다음 항목을 제외한 XML 특수 문자" 로 바꾸고 싶습니다 .
" "
' '
< <
> >
& &
나는 언급된 방법을 시도했다.두 문자열 사이에 지정된 문자를 바꾸시겠습니까?그리고지정된 XML 태그의 모든 "&"를 바꾸려면 sed를 사용하세요. 단, XML 엔터티 "&"의 "&"를 "#"으로 바꾸지는 마세요.나에게는 효과가 없는 것 같습니다.
답변1
Perl 한 줄 사용:
perl -pe 's/&(?!(quot|apos|lt|gt|amp);)/&/g'
이 -p
플래그는 Perl이 sed(STDIN 라인을 반복하고, 작업을 수행하고, STDOUT으로 인쇄)처럼 작동하도록 하며, -e
파일이 아닌 인수에서 명령을 읽도록 지시합니다.
정규식 대체가 수행하는 작업은 다음과 같습니다.
- 성냥
&
- 팔로우 금지
quot
또는apos
...amp
- 세미콜론
- 사용. . . 교체
&
- 모든 온라인 대회에 적용됩니다.
sed처럼 사용하세요.
perl -pe 's/&(?!(quot|apos|lt|gt|amp);)/&/g' < my-file.xml
./myscript.sh | perl -pe 's/&(?!(quot|apos|lt|gt|amp);)/&/g'