2
디렉토리를 살펴보고 모든 XML 파일을 찾아 xmllint
을 실행하고 서식이 지정된 결과를 파일에 저장하려고하는 스크립트를 작성하려고합니다. formatted
이라는 하위 디렉토리에 같은 이름의 지금까지 가지고있는 스크립트는 다음과 같습니다.디렉토리의 모든 XML 파일을 형식화하여 하위 디렉토리에 저장
find . -maxdepth 1 -type f -iname "*.xml" | xargs -I '{}' xmllint --format '{}' > formatted/'{}'
이것은 어느 정도까지 작동합니다. 하위 디렉토리는 "{}"
이라는 하나의 파일로 끝납니다.이 파일은 xmllint
을 통해 처리 된 최종 파일의 결과입니다. 파일을 서브 디렉토리에 올바르게 기록하려면 어떻게해야합니까?
감사에 대해 알지 못했다 xmllint를위한'--output' 옵션. 나는 두 솔루션을 ('xargs'와'-exec'로) 테스트했고, 둘 다 완벽하게 작동합니다. 흥미롭게도,'find' man page는''{{} '의 인스턴스가'-exec'을 사용할 때 명령 내에서 허용된다는 것을 언급합니다. 그래서''xargs' '를 원래 선택 했었습니다. 잘 됐네. – Ben
@Ben 맨 페이지의 나의 버전에서 문구는'-exec command {} +'문법을 위해 존재하지만, 여기서'-exec command;'문법이 사용됩니다. 이것은 맨 페이지의 몇 줄 위에 설명되어 있습니다 . –