如何删除文件中字段少于五个的行

如何删除文件中字段少于五个的行

我有一个文件(下面的示例)。有些行有五个字段,其中第五个字段是数字。但文件中的几行只有四个字段。

我们怎样才能用只有四个字段的内容删除这些行呢?它们不按列对齐。

delay  from  threshold/temp/atp/CK   rx/tx/sx/C14/CLR/DQ  5.0
delay  from  threshold2   rx/C10/CLR  7.0
delay  to    threshold10  rx10  3.0
delay  from  min/max/values/atp  tx/rx/mx/T13/CLR
delay  to  min5/atp2  tx/mx/P11/CTR

在上面的示例中,我想删除第四行和第五行。

我尝试过awk -F\| '$5~/\w/' file,但没有帮助。

答案1

awk '$5~/\w/'对我有用。它打印第五列与正则表达式\waka匹配的所有行[a-zA-Z0-9_]。确保使用该-F选项指定正确的分隔符。

awk 'NF>4'更清楚地表达你的意图。它打印字段数大于 4 的所有行。

相关内容