Gawk/Grep - 如果不包含3列,则删除生命

use*_*841 0 unix awk grep cygwin gawk

好的,所以我有,例如,

Email:Phone:Name
Email2:Phone2:Name2
Run Code Online (Sandbox Code Playgroud)

(3栏)

但是有些行只包含2列示例,

Email3:Phone3
Run Code Online (Sandbox Code Playgroud)

注意#3不包含名称/第3列

问题是如何删除仅包含2列的行.

Sto*_*ica 5

按字段数过滤NF,使用:字段分隔符:

awk -F: 'NF == 3' file
Run Code Online (Sandbox Code Playgroud)

也就是说,NF == 3是一个过滤器,匹配有3个字段的行(NF包含当前行中的字段数).对于与此过滤器匹配的行,将print执行默认命令,从而产生所需的输出.