tnsnames.ora 파일의 호스트 이름만 업데이트하는 스크립트를 작성하려고 합니다.
작업 시 대소문자를 구분하지 않으려면 입력이 필요합니다. 예를 들어, ${DBNAME}은 소문자 데이터베이스 이름이고 내 tnsnames.ora 파일에는 대문자와 소문자 항목 DEV 및 dev, DEV1 및 dev1이 있습니다.
이 부분(${DBNAME}.WORLD|${DBNAME}1.WORLD) 대소문자를 구분하지 않게 만드는 방법에 대한 아이디어가 있으신가요?
sed -re "/^(${DBNAME}.WORLD|${DBNAME}1.WORLD) =/,/^$/s/HOST = ${HOSTNAME}/HOST = ${NEW_DBIP_NAME}/" ${TNS_ADMIN}/tnsnames.ora
답변1
아마도 다음과 같을 것입니다:
sed -re "/^(${DBNAME}.WORLD|${DBNAME}1.WORLD)/I
대소문자를 구분하지 않도록 해야 합니다. 전역으로 만들고 싶다면 ag를 추가하세요.