grep을 사용하여 호스트 이름을 빼고 도메인을 제외하고 tnsnames.ora를 구문 분석합니다.
문제
tnsnames.ora 파일이 있습니다
DB_CONNECTION1=
(description=
(address=
(protocol=tcp)
(host=myhost1.mydomain.com)
(port=1234)
)
(connect_data=
(sid=ABCD)
(sdu=4321)
)
DB_CONNECTION2=
(description=
(address=
(protocol=tcp)
(host=myhost2.mydomain.com)
(port=1234)
)
(connect_data=
(sid=ABCD)
(sdu=4321)
)
키 호스트에서 myhost 값을 추출하기 위해 어떤 정규 표현식을 사용해야합니까?
Ouput should be
myhost1
myhost2
해결책
Grep이 전체 라인을 인쇄하면 다음과 같은 단계로 수행 할 수 있습니다.
grep "(host=" tnsnames.ora | cut -f 2 -d '=' | cut -f 1 -d '.'
분류하려면 :
- grep "(host ="tnsnames.ora- 항목이있는 모든 줄을 찾습니다 "(host ="
- cut -f 2 -d '=' -'='문자로 나누면 열 번호 2의 내용을 찾습니다.
- 컷 -f 1 -d '.' - ''로 나누면 열 번호 1의 내용을 찾습니다. 캐릭터
명령 체인을 모든 지점까지 실행하여 중간 결과를 볼 수 있습니다.
grep "(host=" tnsnames.ora | cut -f 2 -d '='
당신에게 줄 것입니다 :
myhost1.mydomain.com)
myhost2.mydomain.com)
그렇게하면 이러한 유형의 일을하기 위해 명령 세트를 쉽게 구축 할 수 있습니다.
제휴하지 않습니다 StackOverflow