속성 파일에서 xml로 복사하는 방법

속성 파일에서 xml로 복사하는 방법

path여러 위치에 일부 콘텐츠가 포함된 XML 파일이 있습니다 .

.properties이제 언급된 파일에서 값을 가져오고 pathxml에 있는 부분 콘텐츠를 바꾸고 싶습니다 .

아래와 같은 xml 파일이 있다고 가정해 보겠습니다.

<?xml version="1.0" encoding="ISO-8859-1"?>
...
...
<classpath>

      <pathelement location="/profiles/sh/finalFolder/Apache/example.jar" />

</classpath>

<property name="executable" value="/profiles/sh/finalFolder/Apache/instjamr/install" />

<fileset dir="/profiles/sh/finalFolder/Apache/ant"/>

xml 파일에는 /profiles/sh/finalFolder여러 위치에 특정 접미사가 붙은 경로가 포함되어 있습니다.

path.properties이제 다음과 같은 (키, 값) 쌍을 포함하는 파일이 있습니다 .

FinalFolder=/new/final/exit(사용자는 언제든지 속성 파일의 값을 편집할 수 있습니다)

파일에 언급된 키 path값 으로 바꾸고 싶습니다..properties최종 폴더.

.sh이 작업을 수행하려면 파일에 코드를 작성 해야 합니다 .

답변1

먼저 파일에서 경로를 추출하십시오 path.properties.

newPath=`sed -n 's/FinalFolder=//p' path.properties`

그런 다음 이전 경로를 새 경로로 바꿉니다( 더 쉽게 읽을 수 있도록 -구분 기호로 사용:/

sed -i "s-/profiles/sh/finalFolder-$newPath-g" file.xml

스크립트에서는 파일에 FinalFolder 항목이 없거나 잘못된 형식인 경우 몇 가지 오류 처리를 권장합니다.

관련 정보