首页 > 解决方案 > 如何从日志文件中删除日志信息(时间戳等)

问题描述

我有一个日志文件,其中包含以下内容:

2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: --> POST https://foo.com
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Content-Type: application/json; charset=UTF-8
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Content-Length: 893
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: x-foo-id:blah
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Authorization: Bearer ***
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: 
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: {"url_tags":"utm_campaign"}
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: --> END POST (893-byte body)
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: <-- 400 Bad Request https://foo.com (4443ms)
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Vary: Accept-Encoding
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: x-aax_id: 555
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: x-app-usage: {"call_count":0,"total_cputime":0,"total_time":0}
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: WWW-Authenticate: OAuth "invalid_request" "Invalid parameter"
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Content-Type: text/javascript; charset=UTF-8
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: version: v0.122
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Pragma: no-cache
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: x-xxx-aaa: 123475
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Access-Control-Allow-Origin: *
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Cache-Control: no-store
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: x-aa_id: bfi742bfsa
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Expires: Sat, 01 Jan 2000 00:00:00 GMT
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Date: Wed, 03 Apr 2019 22:30:16 GMT
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: Connection: keep-alive
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: 
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: {"error":{"message":"Invalid parameter"}}
2019-04-03 22:30:16,772 [pool-9-thread-1] INFO  wire.CampaignManagement: <-- END HTTP (294-byte body)

有什么方法可以删除所有2019-04-03 22:30:16,772 [pool-9-thread-1] INFO wire.CampaignManagement:使用 Linux 命令的情况?

注意:我在远程机器上工作,所以我不能使用 VSCode 或 Sublime 来编辑这些东西。

标签: linuxreplacecommandremote-debugginglogfile

解决方案


与@Gilles Quenot 相同:sed。

作为部分更通用版本的示例(尽管不优雅),可以使用它来代替:

   sed 's/[[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\} [[:digit:]]\{1,2\}:[[:digit:]]\{1,2\}:[[:digit:]]\{1,2\},[[:digit:]]\{1,3\} \[pool-9-thread-1\] \(INFO\|DEBUG\)  wire.CampaignManagement://' file

如果胎面、日志级别或名称可能发生变化,请进行相应匹配。


推荐阅读