xml
루트 요소가 누락된 대용량(수 GB) 파일이 있습니다 . cat
우분투에서 콘텐츠 주위에 요소를 래핑하는 데 사용할 수 있습니다 <root>
.
콘텐츠를 추출하고 다시 패키징하지 않고 이를 달성하려면 어떻게 해야 합니까?
별도의 접두사 및 접미사 gz 파일을 만들고 이를 cat과 연결하면 작동합니다. 하지만 명시적인 pre-/postfix gz 파일을 만들지 않고도 더 잘할 수 있습니까? 같은 목표를 즉시 달성할 수 있나요?
echo "<root>" | gzip > prefix.gz
echo "</root>" | gzip > postfix.gz
cat prefix.gz input.xml.gz postfix.gz > newfile.gz
답변1
여기에서 문자열과 일련의 명령을 사용할 수 있습니다.
(gzip <<<"<root>"; cat input.xml.gz; gzip <<<"</root>") > newfile.gz
여기서 문자열 설명은 다음과 같습니다.<<<은 무슨 뜻인가요?그리고배쉬 매뉴얼.