在这种情况下,我要删除Windows事件日志中的大多数日志行。
我在EventCode = 4624上进行了测试-成功登录
02/01/2018 09:56:03 AM
LogName=Security
SourceName=Microsoft Windows security auditing.
EventCode=4624
EventType=0
Type=Information
ComputerName=COMPUTER1
TaskCategory=Logon
OpCode=Info
RecordNumber=1072237543
Keywords=Audit Success ...
我尝试如下使用sed:
sed "s/(?!Type\=\w+).+//g"
但是我只有一个字母“ T”,如下所示:
T
我做错了什么?
预期输出:
Type=Information
答案 0 :(得分:2)
您可以使用
sed -E "/^Type=[[:alnum:]_]+$/!d"
它将删除所有不匹配的行
^
-行首Type=
-文字字符串[[:alnum:]_]+
-1个或更多字母数字字符或_
个字符$
-行尾。请参见online demo。