我使用Ubuntu运行自动化测试,需要处理文本日志文件,如下面的
INVITE INVITE sip:88787@10.1.1.100:5060 SIP/2.0
INVITE SIP/2.0 100 Trying
1154845 NOTIFY NOTIFY sip:1@10.1.1.19:5065 SIP/2.0
1154845 NOTIFY NOTIFY SIP/2.0 200 OK
INVITE SIP/2.0 180 Ringing
我想用" NOTIFY"删除2行。并获取下面的日志文件,我是Shell的新手并尝试了一些谷歌,但没有找到方法,请你分享一下如何做到这一点?谢谢!
INVITE INVITE sip:88787@10.1.1.100:5060 SIP/2.0
INVITE SIP/2.0 100 Trying
INVITE SIP/2.0 180 Ringing
答案 0 :(得分:3)
答案 1 :(得分:1)
awk
方式:
awk '!/NOTIFY/ {print $0}' filename
<强>解释强>
awk
打算打印由$0
表示的行,如果该行包含/NOTIFY/
所示的NOTIFY。由于我们不想包含包含NOTIFY的行,因此我们在匹配前添加!
,如下所示:!/NOTIFY/
-
sed
尝试:
sed -n '/NOTIFY/!p' filename