【发布时间】:2018-07-31 11:55:18
【问题描述】:
如果是 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
【问题讨论】:
-
你在
sed "/Type=[[:alnum:]_]/!d"之后吗?预期的输出是什么? -
您要删除什么样的行?
-
你的问题很模糊。请添加更多细节
-
@akuzma,请务必在代码标签中添加预期输出以避免混淆。
-
“Windows 事件日志”。如果这确实是一个 MS Windows 文件,那么您需要将
\r\n行尾更改为\n。使用dos2unix file(但不要指望该日志文件之后可以在 Windows 中工作,在副本上工作?)。祝你好运。