보고 목적으로 모든 빈 XML 파일 이름을 식별하고 이를 텍스트 파일에 작성해야 합니다. 여기서 비어 있다는 것은 xml 파일에 일반적인 헤더 태그가 있고 <?xml version="1.0" encoding="UTF-8"?>
그 뒤에 빈 열기 및 닫기 태그가 있음을 의미합니다.
예시 파일: 1)
<?xml version="1.0" encoding="UTF-8"?>
<STBTests>
</STBTests>
2)
<?xml version="1.0" encoding="UTF-8"?>
<UMTTests>
</UMTTests>
그 외에는 xml 파일에 데이터가 없습니다. 이 문제를 해결하는 방법에 대한 제안이 있으면 좋을 것입니다.
답변1
답변2
빈 xml 파일 이름을 모두 식별하고 보고 목적으로 텍스트 파일에 기록합니다.
find
+xmlstarlet
해결책:
find . -type f -name "*.xml" -exec bash -c \
'v=$(xmlstarlet sel -t -i "count(//*)=1 and //*[1][not(normalize-space())]" -o 1 -b $1);
[[ -n "$v" ]] && echo "$1" >> "empty_xml.txt"' _ {} \;
empty_xml.txt
파일에는 필수 파일 이름/파일 경로 목록이 포함되어야 합니다.