用换行符拆分输入文件

Ram*_*esh 4 sed awk text-processing

我试图在基于相同名称的文件上插入换行符,这恰好是我文件中的第二个字段。所以,我的输入文件如下所示。

17412193|name1|organization
43979400|name1|organization
1405541|name2|organization
53595498|name2|organization
50439202|name2|organization
54678379|name3|Not Found
21757330|name3|organization
Run Code Online (Sandbox Code Playgroud)

所以我试图得到这样的输出,

17412193|name1|organization
43979400|name1|organization
###linebreak inserted here
1405541|name2|organization
53595498|name2|organization
50439202|name2|organization
###linebreak inserted here
54678379|name3|Not Found
21757330|name3|organization
###linebreak inserted here
Run Code Online (Sandbox Code Playgroud)

我正在使用此换行符拆分输入文件以将相似的名称组合在一起。我稍后会对这些分组名称应用相似性算法。因此,对于上面的示例,在输出之后,我将对 3 对名称应用相似度算法。

gle*_*man 8

假设您的文件已经按第二个字段排序/分组

awk -F '|' 'NR>1 && $2 != prev {print ""} {prev=$2; print}' file
Run Code Online (Sandbox Code Playgroud)