USB 모뎀을 통해 네트워크에 연결하려면 wvdial을 사용합니다. 잘 작동하고 매우 만족스럽습니다. XFCE에서 실행할 때 테두리가 없고 투명한 터미널로 출력되도록 설정하여 데스크탑에 상태가 표시되고 모든 것이 정상입니다. 모든 것이 괜찮습니다. 조정하고 싶습니다.
보기 흉한 비정보를 제거하기 위해 "grep -v"로 출력을 필터링하고 싶습니다. 이는 예제 실행의 출력입니다. 출력은 IP 주소를 제외하고 항상 동일합니다.
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT#777
--> Waiting for carrier.
ATDT#777
CONNECT
--> Carrier detected. Waiting for prompt.
~[7f]}#@!}!}!} }9}"}&} } } } }#}%B#}%}%}&3za[02]}'}"}(}"J};~
--> PPP negotiation detected.
--> Starting pppd at Mon Nov 14 11:00:06 2011
--> Warning: Could not modify /etc/ppp/pap-secrets: Permission denied
--> --> PAP (Password Authentication Protocol) may be flaky.
--> Warning: Could not modify /etc/ppp/chap-secrets: Permission denied
--> --> CHAP (Challenge Handshake) may be flaky.
--> Pid of pppd: 17776
--> Using interface ppp0
--> pppd: >[7f]
--> pppd: >[7f]
--> pppd: >[7f]
--> pppd: >[7f]
--> local IP address 10.81.25.50
--> pppd: >[7f]
--> remote IP address 10.133.28.10
--> pppd: >[7f]
--> primary DNS address 10.133.20.11
--> pppd: >[7f]
--> secondary DNS address 10.132.20.11
--> pppd: >[7f]
^CCaught signal 2: Attempting to exit gracefully...
--> Terminating on signal 15
--> pppd: >[7f]
--> Connect time 0.2 minutes.
--> pppd: >[7f]
--> pppd: >[7f]
--> Disconnecting at Mon Nov 14 11:00:16 2011
누군가 명령줄이나 스크립트를 사용하여 이 출력을 필터링하고 이러한 --> pppd: >[7f]
줄과 가능한 pap/chap 경고(가짜임)를 제거하도록 도와줄 수 있습니까?
파이프를 사용하고 grep으로 리디렉션하는 등 몇 가지 작업을 시도했지만 출력에 영향을 미치는 것으로 보이는 항목은 찾지 못했습니다. 참고: pppd:/[7f] 줄에서 두 번째 ">" 문자는 무엇이든 될 수 있습니다(여전히 pppd가 나에게 무엇을 말하려고 하는지 알 수 없습니다. :)
감사해요!
편집: 이해합니다. 손잡이가 없다면 정말 간단합니다. 나는 손잡이야..
wvdial 2>&1 | grep -v -i -E "7f]|pap|chap"
출력은 stderr에 있고 파이프는 stdout에 사용됩니다. 2>&1 리디렉션하여 올바르게 전송할 수 있습니다.
여기까지 읽어주셨다면 감사합니다.
답변1
내가 원하는 것은 출력을 wvdial
파일로 리디렉션하고 파일에 나타나는 "흥미로운" 줄을 개별적으로 인쇄하는 것입니다.
wvdial >wvdial.log 2>&1
이는 파일을 필터링하는 한 가지 방법입니다. 첫 번째 줄( )부터 시작하여 파일( )의 증가를 추적함을 나타냅니다 tail -n +1 -f
. 필터는 일치하는 줄을 제외한 모든 줄을 표시하기 위한 것입니다. 정규식에 대해 "현대" 구문을 선택합니다.-f
-n +1
grep -v
-E
tail -n +1 -f wvdial.log |
grep -vE '^--> (pppd: >\[7f\]|Warning)$'
tail -f
파일 모니터링 기능(종종 후행 파일이라고 함)과 필터링 및 색상 지정 기능을 결합한 여러 프로그램이 있습니다 .tail
이 사이트에 태그를 지정하세요.그리고 특히 보세요grep 및 tail -f?그리고tail -f 표시 컬러 출력을 만드는 방법.