String 리소스를 스크립트를 통해서 외부에서 받아서 프로젝트 폴더에 복사하여 업데이트하는데, String의 리소스의 순서가 완전히 뒤죽박죽되어서 diff로 어떻게 바뀌었는지 알 수 없을 때, 전과 후의 String의 값을 비교해 주는 매우 간단한 쉘 스크립트다.
#! /bin/bash
for line in $(find . -name strings.xml)
do
echo $line
xmlstarlet sel -t -m "//resources/string" -c . -n $line | LC_ALL=C sort > $line.diff
done
String 리소스를 업데이트하기 전에 strings.xml.diff를 생성해서 commit한 후, 새 String 리소스를 복사한 후 strings.xml.diff를 다시 생성하면 순수하게 변경된 리소스만 확인할 수 있다.
xmlstarlet 이라는 툴을 새로 알게됬는데 앞으로도 유용할 것 같다.
https://www.google.com/search?q=xmlstarlet+tutorial