path
여러 위치에 일부 콘텐츠가 포함된 XML 파일이 있습니다 .
.properties
이제 언급된 파일에서 값을 가져오고 path
xml에 있는 부분 콘텐츠를 바꾸고 싶습니다 .
아래와 같은 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 항목이 없거나 잘못된 형식인 경우 몇 가지 오류 처리를 권장합니다.