로그 판독기, 최초 포스터. 죄송합니다. 자세한 설명을 부탁 드리겠습니다.파일에서 문자열을 검색 한 다음 다른 문자열과 일치하는 이전 행을 찾으십시오.
사용 가능한 Linux 도구 (예 : sed, awk, grep 등)를 사용하여 구문 분석하려는 일부 하드웨어 부하 분산 장치 구성이 있습니다.
address 10.1.104.164
이라는 문구를 검색하고 그 내부에있는 풀을 알고 싶습니다. 우리가 10.1.104.164
검색 예를 들어 나는 돌아가 그것을 좋아하는 것 : 크리스
편집 사전에
ltm pool pool_10.1.105.30_80 {
load-balancing-mode observed-member
members {
node_10.1.104.163:http {
address 10.1.104.163
session monitor-enabled
state up
}
node_10.1.104.164:http {
address 10.1.104.164
session monitor-enabled
state up
}
}
monitor http_200_OK
}
ltm pool pool_10.1.105.31_80 {
load-balancing-mode observed-member
members {
node_10.1.104.163:http {
address 10.1.104.163
session monitor-enabled
state up
}
node_10.1.104.164:http {
address 10.1.104.164
session monitor-enabled
state up
}
}
monitor http_200_OK
}
감사합니다, 다음은
ltm pool pool_10.1.105.30_80
ltm pool pool_10.1.105.31_80
내가 검색하고 파일의 샘플입니다 : 철자 및 서식 지정.
perl
와
이 더 낫다. – dawg
감사합니다. 그러나 주소 행이 "address 10.1.104.16"이라고 가정하자.이 awk 명령을 실행하면 10.1.104.16과 10.1.104.164가 일치하지 않아 잘못된 결과가 나타납니다. 필자는 tgt = "address 10.1.104.164"와 같이 라인 식별자의 끝을 tgt = "address 10.1.104.164 $"와 같이 설정해야한다고 생각합니다. 그러나 이것은 올바른 구문이 아닙니다. –
나는 그것을 고치기 위해 스크립트를 수정했다. 미래의 질문을 위해 - 샘플 입력/출력을 게시 할 때 생각을 넣고 처음 질문을 게시 할 때 언급 한 것과 같은 경우를 생각해 내면 도움이 될 때 고려할 수 있습니다. 솔루션을 나중에 발견하고 디버깅하는 대신 –