sed + sed가 값을 올바르게 대체하는지 확인하는 방법

sed + sed가 값을 올바르게 대체하는지 확인하는 방법

다음은 파일에서 일치하는 키 값을 바꾸는 방법에 대한 좋은 예입니다.

str="192.2.34.40:2181,192.2.34.34:2181,192.2.34.32:2181,192.2.34.52:2181,192.2.34.53:2181"
sed -i "s~^[[:space:]]*zookeeper\.connect.*~zookeeper.connect=$str~" /opt/server.properties

more /opt/server.properties
zookeeper.connect=192.2.34.40:2181,192.2.34.34:2181,192.2.34.32:2181

sed 명령을 실행한 후 우리는 다음을 얻습니다.

more /opt/server.properties 
zookeeper.connect=192.2.34.40:2181,192.2.34.34:2181,192.2.34.32:2181,192.2.34.52:2181,192.2.34.53:2181
 

하지만 값이 올바르게 대체되었는지 확인할 수 있나요?

물론 유효성 검사를 추가할 수도 있습니다.

sed -i "s~^[[:space:]]*zookeeper\.connect.*~zookeeper.connect=$str~" /opt/server.properties
[[ $? -ne 0 ]] && echo "sed failed" && exit 1

그러나 0을 제공하는 표준 출력이 모든 오류를 포함하는지 확실하지 않습니다.

관련 정보