여러 호스트가 포함된 SSH 구성 파일이 있으며 각 호스트에는 일부 포트 전달이 미리 구성되어 있습니다.
Host host
HostName host.server.com
User user
LocalForward 1234 localhost:9911
LocalForward 5678 localhost:9922
다음과 같은 텍스트를 표시하는 쉬운 방법이 있습니까?
Service 1 (port: 9911) forwarded to port: 1234
Service 2 (port: 9922) forwarded to port: 5678
로그인할 때?
답변1
이상한 해결책 :
awk '/LocalForward/
{ count++;
split($3,arr,":");
printf "Service %i ( port: "arr[2]") forwarded to port : "$2"\n",count
}' ssh_config
LocalForward 라인 패턴이 일치하면 변수 수가 증가합니다. 분할선의 세 번째 공백을 사용하여 필드를 구분합니다. 결과를 배열(arr)에 배치합니다. arr 배열의 두 번째 요소와 줄에서 공백으로 구분된 두 번째 데이터 세그먼트를 추출하는 데 필요한 텍스트를 인쇄합니다.