代码/方法高尔夫:查找包含太多列的文本文件中的行

时间:2010-06-08 19:05:53

标签: text-parsing

鉴于一个文本文件应该包含10个制表符分隔的列(即9个制表符),我想找到所有超过10列(超过9个制表符)的行。每行以CR-LF结尾。

除了上述内容之外,不假设数据,字段宽度等。

非常感谢有关方法和/或工作代码的评论。打印违规行的行号也是如此。

提前致谢!

编辑,正如评论者指出的那样(谢谢!),您可以假设数据不包含制表符或CRLF。

2 个答案:

答案 0 :(得分:4)

只需使用正则表达式:

(.*\t){10,}

答案 1 :(得分:3)

awk -F'\t' 'NF>10{print}' <filename>

或者,使用行号:

awk -F'\t' 'NF>10{print NR; print}' <filename>