![LF가 없는 XML을 쉘에서 sed 명령을 사용하여 보기 좋게 만들고 싶습니다.](https://linux55.com/image/13297/LF%EA%B0%80%20%EC%97%86%EB%8A%94%20XML%EC%9D%84%20%EC%89%98%EC%97%90%EC%84%9C%20sed%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%B3%B4%EA%B8%B0%20%EC%A2%8B%EA%B2%8C%20%EB%A7%8C%EB%93%A4%EA%B3%A0%20%EC%8B%B6%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
내 git 저장소에 프로젝트 구조가 있고 git bash에서 쉘 명령을 실행하여 모든 것을 (LF) >
로 바꾸려고 합니다. >\n
다음 명령을 시도했습니다.
find . -name '*.xml' -exec sh -c 'sed 's/>/>\n/g "$0"' '{}' ';'
내 프로젝트에서 발견된 모든 xml 파일에서 위의 컬렉션(으로)을 대체한다는 의미입니다 >
.>\n
커서 ">"를 사용하여 편집기를 입력했기 때문에 내가 뭘 잘못하고 있는지 모르겠습니다... (단지 편집기에서 보기 좋게 만듭니다. 예를 들어 Note++는 XMLTools 플러그인을 사용하면 쉽지만 파일 변경을 원합니다. 각 XML 태그 뒤에 LF로 포함하려면)
파일에 대한 명령을 작성하면 정상적으로 작동합니다.
$ sed 's/>/>\n/g' MyFile.xml
답변1
이것을 사용하는 것은 나쁜 생각입니다 sed
. 당신이하고있는 일은 다음과 같습니다.체재XML 파일.
이는 모든 XML 파서에 대한 간단한 작업입니다. 예를 들면 다음과 같습니다.
xmllint --format file.xml
이 유틸리티는 일반적으로 GNU Linux에 기본적으로 설치되거나 소프트웨어 패키지와 함께 설치됩니다.libxml2
또는
xmlstarlet format file.xml