【发布时间】:2016-06-04 03:28:17
【问题描述】:
假设我有一个如下所示的输入文件:
2016-06-03 21:00:14 > user1 has connected.
2016-06-03 21:00:14 > user1 has connected.
2016-06-03 21:00:15 > user1 has connected.
2016-06-03 21:00:22 > foobar disconnected.
2016-06-03 21:00:22 > foobar disconnected.
2016-06-03 21:00:29 > user2 has connected.
2016-06-03 21:00:29 > user2 has connected.
2016-06-03 21:00:29 > user2 has disconnected.
2016-06-03 21:00:30 > user2 has disconnected.
2016-06-03 21:00:30 > user2 has disconnected.
我可以删除所有重复的连续行,忽略带有uniq -f2 file.txt 的前两列,但我正在寻找一种方法来仅删除其中包含 has connected. 的重复项,因此输出将如下所示:
2016-06-03 21:00:14 > user1 has connected.
2016-06-03 21:00:22 > foobar disconnected.
2016-06-03 21:00:22 > foobar disconnected.
2016-06-03 21:00:29 > user2 has connected.
2016-06-03 21:00:29 > user2 has disconnected.
2016-06-03 21:00:30 > user2 has disconnected.
2016-06-03 21:00:30 > user2 has disconnected.
我想这可以通过匹配一个固定的字符串(“已连接。”)来完成,但我也对一个可以使用正则表达式的命令感兴趣。
我查看了this question 的答案,但无法修改命令,因此它们可以使用我的输入。
【问题讨论】: