Bash:按特定列中的值过滤gz文件

时间:2018-09-14 03:53:59

标签: linux bash

作为标题,我有一个非常大的.csv.gz文件,并且我尝试通过此处某一列中的特定值来过滤行,例如(col3 ==“ Female”)

原始:

Yes Yes Female Male
Yes No Male Female
No No Female Female

想要的输出:

Yes Yes Female Male
No No Female Female

尝试:

gzcat file.csv.gz | awk '$3==Female {print}'

但它实际上根本不过滤任何内容。

有人可以在这里帮助吗? 非常感谢。

1 个答案:

答案 0 :(得分:1)

gzcat file.csv.gz | awk '$3=="Female" || $1=="col1"'

输出:

col1 col2 col3
Yes Yes Female
No No Female