XML 파일이 거의없고 요소 태그 또는 텍스트 태그와 같이 중간에 여분의 공백이 추가 된 사용자가 있으며 여러 파일 버전을 비교하는 것이 매우 어려워졌습니다.sed : 텍스트 중간에서 공백 제거
예는 첫 번째 책 요소의 예제 코드, 저자의 요소 태그와 제목의 텍스트 노드 이상에서 볼 수 있듯이 (XML 파일)
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author >
<title>XML Developer's Guide </title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
<book id="bk102" >
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
</book>
</catalog>
여분의 공간을 가지고있다. 마찬가지로 두 번째 책 요소의 요소 태그에는 여분의 공백이 있습니다.
정규 표현식에서 이러한 유형의 공백 (둘 이상의 인접 공백)을 검색하려고하지만 앞의 공백을 원하지 않습니다. 선행 공백 (선 시작)을 떠나지 않고 단일 공백으로 바꾸면 들여 쓰기가 손실됩니다.
처음에는 모든 double + 공백을 제거하고 파일에 xmllint --format을 수행하는 것과 같은 방법으로 처리 할 수 있지만 누군가가 나에게 공백에 대해 reg exp를 줄 수 있다면 도움이 될 것입니다. 윤곽.
나는 ^, \ s와^\ s의 조합을 시도했지만 해결책을 얻지 못하는 것 같습니다. 누군가가 제안 할 수 있다면 정말 도움이 될 것입니다. 이것은 (나오지 GNU)을 당신을 위해 작동 할 수
당신이 정말로 알고 있든 없든, 적절한 XML 구문 분석/처리 도구 세트이며 일반 표현 엔진이 아닙니다 ... – twalberg