linux - Grep 具有重复字段值的连续行。

标签 linux string unix grep

我不知道如何grep我想要在这个文件中的行:

8.txt  07:34:12 -> CONTENT START
8.txt  07:34:42 <-CONTENT END
8.txt  07:35:08 -> CONTENT START
8.txt  07:36:33 <-CONTENT END
8.txt  07:57:51 -> CONTENT START
8.txt  07:57:52 -> CONTENT START
8.txt  07:58:25 <-CONTENT END
8.txt  07:58:36 -> CONTENT START
8.txt  07:59:24 <-CONTENT END
8.txt  08:20:23 -> CONTENT START
8.txt  08:21:22 <-CONTENT END
8.txt  08:22:44 -> CONTENT START
8.txt  07:34:12 -> CONTENT START
8.txt  08:23:07 <-CONTENT END
8.txt  08:26:35 -> CONTENT START
8.txt  08:27:24 <-CONTENT END
8.txt  08:29:53 -> CONTENT START
8.txt  08:30:28 <-CONTENT END
8.txt  08:30:59 -> CONTENT START
8.txt  08:31:21 <-CONTENT END
8.txt  08:48:28 -> CONTENT START
8.txt  08:48:56 <-CONTENT END
8.txt  09:13:10 -> CONTENT START
8.txt  09:13:40 <-CONTENT END
8.txt  09:13:52 -> CONTENT START
8.txt  09:14:44 <-CONTENT END
8.txt  09:19:50 -> CONTENT START
8.txt  09:20:28 <-CONTENT END
8.txt  09:27:04 -> CONTENT START
8.txt  09:27:40 <-CONTENT END

如果 CONTENT START 出现在连续的行上,则显示它们。

预期输出:

8.txt  07:57:51 -> CONTENT START
8.txt  07:57:52 -> CONTENT START
8.txt  08:22:44 -> CONTENT START
8.txt  07:34:12 -> CONTENT START

如何做到这一点?

最佳答案

这不是 grep 的任务,为此使用 uniq:

$ uniq -D -f4 file
8.txt  07:57:51 -> CONTENT START
8.txt  07:57:52 -> CONTENT START
8.txt  08:22:44 -> CONTENT START
8.txt  07:34:12 -> CONTENT START

选项 -D 用于显示重复的行,-f4 跳过前四个字段。

关于linux - Grep 具有重复字段值的连续行。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14174671/

相关文章:

linux - Go 应用程序无法捕获信号

c - popt库使用

asp.net - 更改名称服务器时 '/park' 应用程序中的服务器错误

PHP 去除非整数并将输出重新格式化为电话号码

c# - StringComparison 枚举的选项

unix - 密码保护普罗米修斯访问

linux - 如何在 Linux 中使用 bash 从文本文件中提取行?

c++ - 如何在linux(mandriva2010)中安装Qt5

java - 如何检查用户输入的字符串是否正确? ( java )

python - 使用脚本将文件从 UNIX 复制到 Windows