-2
정규 표현식을 사용하여 아래 출력에서 "VLAN 관리"값을 추출하고 그 값을 내 스크립트의 뒷부분에서 사용할 변수에 저장해야합니다.여러 줄의 텍스트 패턴 뒤에 일치 문자열
set switch 100.10.100.100
set Username "test"
set Password "test"
spawn ssh -o StrictHostKeyChecking=no [email protected]$switch
expect "*assword: "
send "$Password\r"
expect *>
send "enable\r"
expect "*#"
send "config\r"
expect "(config)#"
send "display something"
출력은 다음과 같습니다
status : Connected
IP Address : 2.2.2.2
Mask : 255.255.255.255
Gateway : 2.2.2.1
Manage VLAN : 456
Manage priority : 0
Option60 : No
Switch : Enable
내가 어떻게 이것을 달성 할 수 있는가?
당신은 출력을 억제하거나 출력을 유지하고 동시에 필요한 데이터를 추출 하시겠습니까? – RomanPerekhrest
모든 출력을 억제하고 VLAN 필드 관리에서 값을 추출하고 해당 값을 변수에 할당하려고합니다. – n33raj116
어떤 도구를 사용하고 있습니까? 나는 당신이 '기대하는'내부적 인 것을 원하지 않는다는 것을 확신 할 수 없다. 그렇지 않다면,'awk '/ Manage VLAN/{print $ 3}'이 값을 인쇄 할 것입니다. 'tclsh'에 vars를 저장하는 것에 대해서는 확신이 없지만 아마도'set val = \'awk .... \''일까요? 역학을 인식하지 못하면 명령 대체를 검색하여 읽으십시오. 행운을 빕니다. – shellter