tacacs 파일의 특정 부분을 열에 출력할 수 있는 Bash 스크립트

tacacs 파일의 특정 부분을 열에 출력할 수 있는 Bash 스크립트

tacacs 파일의 일부를 월별 보고서로 출력하려고 합니다.

Python으로 시도해 보았지만 여전히 결과에 오류가 있으므로 간단한 bash 스크립트에 우아한 해결책이 있는지 알아보려고 했습니다.

파일에서 꺼내고 싶은 비트는 다음과 같습니다.

user = user1 {
      member = group2
 }

user = user2 {
      member = group3
 }

이제 이상적으로 내가 원하는 것은 group2에 속한 모든 구성원이 자신이 속한 그룹의 이름과 함께 한 열과 다른 열로 출력되는 것입니다.

월별 이메일 부분은 제가 처리할 수 있는데, 출력에 문제가 있는 것뿐입니다.

어떤 아이디어가 있나요?

답변1

$ awk '/user =/ { u = $3 } /member =/ { print u, $3 }' file
user1 group2
user2 group3

일치하는 행을 찾으면 user =사용자 이름이 기억됩니다(공백으로 구분된 세 번째 필드에서 가져옴). 일치하는 행을 찾으면 member =기억된 사용자 이름과 행의 세 번째 필드(그룹 이름이어야 함)를 출력합니다.

나는 파일 형식에 익숙하지 않고 파일에 다른 내용이 무엇인지 전혀 모르기 때문에 이것이 질문에 제공된 다른 데이터에 적용된다고 말할 수 없습니다.

관련 정보