我使用 wvdial 通过 USB 调制解调器连接到网络。它工作正常,我对此非常满意。当我在 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 显示彩色输出。