내 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