鉴于一个文本文件应该包含10个制表符分隔的列(即9个制表符),我想找到所有超过10列(超过9个制表符)的行。每行以CR-LF结尾。
除了上述内容之外,不假设数据,字段宽度等。
非常感谢有关方法和/或工作代码的评论。打印违规行的行号也是如此。
提前致谢!
编辑,正如评论者指出的那样(谢谢!),您可以假设数据不包含制表符或CRLF。
答案 0 :(得分:4)
只需使用正则表达式:
(.*\t){10,}
答案 1 :(得分:3)
awk -F'\t' 'NF>10{print}' <filename>
或者,使用行号:
awk -F'\t' 'NF>10{print NR; print}' <filename>