我有一个像这个小例子的文本文件:
小例子:
chr1 HAVANA exon 13221 13374
chr1 HAVANA exon 13453 13670
chr1 HAVANA gene 14363 29806
我正在尝试根据第3列过滤行。实际上,如果第三列是基因,我将保留整行并过滤掉其他行。这是预期的输出:
预期输出:
chr1 HAVANA gene 14363 29806
我正在尝试使用以下命令在awk
中执行此操作,但结果为空。你知道如何解决吗?
awk '{ if ($3 == 'gene') { print } }' infile.txt > outfile.txt
答案 0 :(得分:4)
在脚本中使用双引号:
$ awk '{ if ($3 == "gene") { print } }' file
chr1 HAVANA gene 14363 29806
或:
$ awk '{ if ($3 == "gene") print }' file
但是您可以:
$ awk '$3 == "gene"'