awk / gawk - 如果第2行不存在则删除行

时间:2016-10-29 14:14:22

标签: awk cygwin gawk

我有一个包含2行的.txt文件和一个分隔符,但有些行只包含1行,所以我想删除那些只包含1行的文件。

行的例子是

要保留的行,

Iamnotyours:email@email.com

要删除的行,

Iamnotyours:

2 个答案:

答案 0 :(得分:2)

根据您发布的样本输入,您只需要:

grep -v ':$' file

或者如果你出于某种原因坚持使用awk:

awk '!/:$/' file

如果您不是全部,那么请编辑您的问题以澄清您的要求。

答案 1 :(得分:1)

awk救援!

$ awk -F: 'NF==2' file    

仅打印包含两个字段的行

$ awk -F: 'NF>1' file

打印多个字段的行。你的情况,你有分隔符,字段数将是两个。您需要检查第二个字段是否为空

$ awk -F: '$2!=""' file