如何使用n个制表符提取行? UNIX

时间:2014-08-15 08:07:14

标签: bash unix tab-delimited

我有一个制表符分隔的文件:

xyz
abc foo bar
hello   world
lmn opq rst

我想用3个标签提取线条并实现:

abc foo bar
lmn opq rst

我一直在使用python:

fout = ('outfile', 'w')
with open('infile', 'r') as fin:
  for line in fin:
    if line.count('\t') == 3:
      print>>fout, line

unix / bash的做法是什么?

1 个答案:

答案 0 :(得分:5)

您可以将awk与字段分隔符一起用作\t(标签):

awk -F '\t' 'NF==3' file
abc foo bar
lmn opq rst

NF==3条件只会打印3个字段(2个标签)的行。