sed
이있는 간단한 하나의 라이너에 Java 속성 값을 업데이트하고 싶습니다. 자바 속성의 현재 설정이 무엇인지 모른 채, 그리고sed를 사용하여 java 속성 파일의 속성을 업데이트하십시오.
전에
example.java.property=previoussetting
리눅스의 GNU 나오지 가정
example.java.property=desiredsetting
sed
이있는 간단한 하나의 라이너에 Java 속성 값을 업데이트하고 싶습니다. 자바 속성의 현재 설정이 무엇인지 모른 채, 그리고sed를 사용하여 java 속성 파일의 속성을 업데이트하십시오.
전에
example.java.property=previoussetting
리눅스의 GNU 나오지 가정
example.java.property=desiredsetting
후, 1 해결책이 될 것이다) 비어있을 수 있습니다
편집이 (가) 이스케이프 처리되었습니다. '.' 문자
replaceString=desiredsetting
sed -i "s/\(example\.java\.property=\).*\$/\1${replaceString}/" java.properties
켄트
하여 올바른 의견에 따라 즉s/example\.java.../
경우
sed "s/\(example\.java\.property=\).*\$/\1${replaceString}/" java.properties > myTmp
/bin/mv -f myTmp java.properties
나는이 도움이 되었으면 좋겠 즉, 당신은 TMP 파일을 관리 할 필요는 -i
준수하지 않습니다 나오지도. 이것은 당신이 의
sed -i -e "/property.name.1=/ s/=.*/=newValue1/" -e "/property.name.2=/ s/=.*/=newValue2/" yourFile.properties
지도자가을 나오지 여러 속성
를 업데이트하는 방법입니다sed -i "/property.name=/ s/=.*/=newValue/" yourFile.properties
이 새 파일
sed "/property.name=/ s/=.*/=newValue/" yourFile.properties > newFile.properties
로 인쇄됩니다 :
이 파일을 업데이트합니다 이것이 가장 적절한 방법이 아니기 때문에 나를 비난 할 수도있다. 점들을 벗어나지는 못했지만) 가독성을 희생하지 않으려 고 할 때 가장 좋은 옵션이라고 생각합니다.
다음확장 된 논의의 : How do I use sed to change my configuration files, with flexible keys and values?
[당신이 시도 무엇?] (http://mattgemmell.com/2008/12/08/what-have-you-tried/) –