【发布时间】:2016-05-17 08:39:25
【问题描述】:
我从几个不同的日志文件中获得了输出。我正在使用以下命令从日志文件中过滤掉。我需要按日期和时间过滤输出,并且所有输出都应该按日期和时间的排序顺序显示。所有结果都应该合并到一个文件中。我正在搜索具有@ABC 和@DEF 的分析用户,并删除重复的条目。
cat log_file1.log | grep 'Profiling user :' | awk '{print $1,$21}' | cut -c2- | grep '@ABC'
来自 log_file1.log 的输出
2016-05-16T10:50:09.170+00:00] ABHIJEET.VADGAMA@ABC.com
2016-05-16T10:50:09.170+00:00] ABHIJEET.VADGAMA@ABC.com
2016-05-16T10:56:43.944+00:00] AAMIR.SHAIKH@ABC.com
2016-05-16T10:56:43.944+00:00] AAMIR.SHAIKH@ABC.com
2016-05-16T11:00:55.961+00:00] SALIL.WAGLE@ABC.com
2016-05-16T11:00:55.961+00:00] SALIL.WAGLE@ABC.com
2016-05-16T11:12:23.326+00:00] ABHIJEET.VADGAMA@ABC.com
2016-05-16T11:12:23.326+00:00] ABHIJEET.VADGAMA@ABC.com
2016-05-16T11:26:35.311+00:00] VIPIN.SHARMA@ABC.com
2016-05-16T11:26:35.311+00:00] VIPIN.SHARMA@ABC.com
2016-05-16T12:08:33.719+00:00] PRITHA.MAZUMDAR@ABC.com
2016-05-16T12:08:33.719+00:00] PRITHA.MAZUMDAR@ABC.com
2016-05-16T12:58:40.453+00:00] VIPIN.SHARMA@ABC.com
2016-05-16T12:58:40.453+00:00] VIPIN.SHARMA@ABC.com
2016-05-16T13:44:45.657+00:00] PRITHA.MAZUMDAR@ABC.com
2016-05-16T13:44:45.657+00:00] PRITHA.MAZUMDAR@ABC.com
2016-05-16T14:42:35.818+00:00] HOLLY.M.JOHNSONSTUHR@ABC.com
2016-05-16T14:42:35.818+00:00] HOLLY.M.JOHNSONSTUHR@ABC.com
2016-05-16T14:46:07.353+00:00] CLEAVAN.R.DSOUZA@JPMORGAN.COM
来自 log_file2.log 的输出
2016-05-12T08:16:49.438+00:00] SABEEN.RAZA@ABC.com
2016-05-12T08:16:49.438+00:00] SABEEN.RAZA@ABC.com
2016-05-12T08:32:52.239+00:00] AKPOME.O.OMORHIRHI@ABC.com
2016-05-12T08:32:52.239+00:00] AKPOME.O.OMORHIRHI@ABC.com
2016-05-12T08:52:19.074+00:00] PUNIT.X.KHIRODWALA@JPMORGAN.COM
2016-05-12T08:52:19.074+00:00] PUNIT.X.KHIRODWALA@JPMORGAN.COM
2016-05-12T09:39:48.475+00:00] GRAZYNA.M.JANKOWSKA@JPMORGAN.COM
2016-05-12T09:39:48.475+00:00] GRAZYNA.M.JANKOWSKA@JPMORGAN.COM
2016-05-12T09:58:42.659+00:00] PRIYANKA.V.GAIKWAD@ABC.com
2016-05-12T09:58:42.659+00:00] PRIYANKA.V.GAIKWAD@ABC.com
2016-05-12T11:45:58.756+00:00] ABHIJEET.VADGAMA@ABC.com
2016-05-12T11:45:58.756+00:00] ABHIJEET.VADGAMA@ABC.com
2016-05-12T12:36:02.116+00:00] SHANE.L.BERGENSTEN@ABC.com
2016-05-12T12:36:02.116+00:00] SHANE.L.BERGENSTEN@ABC.com
2016-05-12T13:03:52.589+00:00] VIPIN.SHARMA@ABC.com
2016-05-12T13:03:52.589+00:00] VIPIN.SHARMA@ABC.com
猫日志文件_3.log | grep '分析用户:' | awk '{打印 $1,$21}' |切-c2- | grep '@DEF'
2016-05-12T13:50:40.132+00:00] PRIYANKA.V.GAIKWAD@DEF.com
2016-05-12T13:50:40.132+00:00] PRIYANKA.V.GAIKWAD@DEF.com
2016-05-12T14:06:32.173+00:00] VIPIN.SHARMA@DEF.com
2016-05-12T14:06:32.173+00:00] VIPIN.SHARMA@DEF.com
我需要如下输出:-
Date Time User
2016-05-16 8:16:49 SABEEN.RAZA@ABC.com
2016-05-16 8:16:49 SABEEN.RAZA@ABC.com
2016-05-16 8:32:52 AKPOME.O.OMORHIRHI@ABC.com
2016-05-16 8:32:52 AKPOME.O.OMORHIRHI@ABC.com
2016-05-16 8:52:19 PUNIT.X.KHIRODWALA@JPMORGAN.COM
2016-05-16 8:52:19 PUNIT.X.KHIRODWALA@JPMORGAN.COM
2016-05-16 9:39:48 GRAZYNA.M.JANKOWSKA@JPMORGAN.COM
2016-05-16 9:39:48 GRAZYNA.M.JANKOWSKA@JPMORGAN.COM
2016-05-16 9:58:42 PRIYANKA.V.GAIKWAD@ABC.com
2016-05-16 9:58:42 PRIYANKA.V.GAIKWAD@ABC.com
2016-05-16 11:45:58 ABHIJEET.VADGAMA@ABC.com
2016-05-16 11:45:58 ABHIJEET.VADGAMA@ABC.com
2016-05-16 12:36:02 SHANE.L.BERGENSTEN@ABC.com
2016-05-16 12:36:02 SHANE.L.BERGENSTEN@ABC.com
2016-05-16 13:03:52 VIPIN.SHARMA@ABC.com
2016-05-16 13:03:52 VIPIN.SHARMA@ABC.com
2016-05-16 13:50:40 PRIYANKA.V.GAIKWAD@DEF.com
2016-05-16 13:50:40 PRIYANKA.V.GAIKWAD@DEF.com
2016-05-16 14:06:32 VIPIN.SHARMA@DEF.com
2016-05-16 14:06:32 VIPIN.SHARMA@DEF.com
2016-05-16 10:50:09 ABHIJEET.VADGAMA@ABC.com
2016-05-16 10:56:43 AAMIR.SHAIKH@ABC.com
2016-05-16 10:56:43 AAMIR.SHAIKH@ABC.com
2016-05-16 10:50:09 ABHIJEET.VADGAMA@ABC.com
2016-05-16 11:00:55 SALIL.WAGLE@ABC.com
2016-05-16 11:00:55 SALIL.WAGLE@ABC.com
2016-05-16 11:12:23 ABHIJEET.VADGAMA@ABC.com
【问题讨论】:
-
不要在与
awk相同的管道中使用grep和cut。awk可以做任何事情grep和cut可以。 -
提示:在
awk手册中查找split。 -
@Michael Vehrs ;- 如何使用 awk 命令来做所有事情。至少让我们知道如何在
5/12/2016 8:16:49 SABEEN.RAZA@ABC.com中过滤掉 -
@Ajinkya 嗯,
awk程序的基本构建块是PATTERN { ACTION ... }。所以,你可以说/Profiling user:/ { do whatever },而不是grep。 -
您可以丢弃时区信息吗?都在一个时区吗?