выделение строк на основе значений полей в awk - PullRequest
0 голосов
/ 22 декабря 2018

У меня есть текстовый файл, подобный этому маленькому примеру:

маленький пример:

chr1    HAVANA  exon    13221   13374
chr1    HAVANA  exon    13453   13670
chr1    HAVANA  gene    14363   29806

Я пытаюсь отфильтровать базу строк в 3-м столбце.фактически, если 3-й столбец является геном, я сохраню всю строку и отфильтрую другие строки.Вот ожидаемый результат:

Ожидаемый результат:

chr1    HAVANA  gene    14363   29806

Я пытаюсь сделать это в awk, используя следующую команду, но результаты пустые.ты знаешь как это исправить?

awk '{ if ($3 == 'gene') { print } }' infile.txt > outfile.txt

1 Ответ

0 голосов
/ 22 декабря 2018

Используйте двойные кавычки в скрипте:

$ awk '{ if ($3 == "gene") { print } }' file
chr1    HAVANA  gene    14363   29806

или:

$ awk '{ if ($3 == "gene") print }' file

, но вы можете просто:

$ awk '$3 == "gene"'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...