wvdial/pppd 端末出力をフィルタリングする方法

wvdial/pppd 端末出力をフィルタリングする方法

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]行の2番目の ">"文字は何でも構いません(まだpppdが私に何を言おうとしているのかわかりません。:)

ありがとうございます!

編集:わかりました。取っ手がなければ本当に簡単です。私はハンドルだ..

wvdial 2>&1 | grep -v -i -E "7f]|pap|chap"

出力はstderrにあり、パイプはstdoutに使用されます。 2>&1リダイレクトして正しく送信できます。

ここまで読んでいただきありがとうございます。

答え1

私が望むのは、出力をwvdialファイルにリダイレクトし、ファイルに表示される「面白い」行を個別に印刷することです。

wvdial >wvdial.log 2>&1

これはファイルをフィルタリングする1つの方法です。最初の行()から始まり、ファイル()の増加を追跡することを示しますtail -n +1 -f。フィルタは、一致する行を除くすべての行を表示するためのものです。正規表現の「現代」構文を選択します。-f-n +1grep -v-E

tail -n +1 -f wvdial.log |
grep -vE '^--> (pppd: >\[7f\]|Warning)$'

tail -fファイル監視機能(しばしば末尾のファイルと呼ばれる)とフィルタリングと色付け機能を組み合わせた複数のプログラムがあります。tailこのサイトにタグを付けてください。そして特に見てくださいgrepとtail -f?そしてtail -f 表示カラー出力の作成方法

関連情報