2016-04-12 2 views
2

У меня есть текстовый файл с 8 столбцов и несколько миллионов строк, выглядит следующим образом:Печать всех строк с заданным словом в одном столбце?

CHR   SNP   BP A1  TEST NMISS  BETA   STAT   P 
    1  1:693731  693731 G  ADD  333 -0.02795  -0.365  0.7154 
    1  1:693731  693731 G  pc1  333  -1.369  -1.268  0.2058 
    1  1:693731  693731 G  pc2  333 -0.2801  -0.2592  0.7957 

Я хочу, чтобы создать новый файл, содержащий все строки с «ADD» в колонке «TEST» (столбец 5). Я попытался сделать это с помощью awk:

Это привело к созданию пустого текстового документа. Как иначе это может быть достигнуто? Любой вход был бы весьма признателен.

ответ

3

ADD не является переменной, поэтому вам нужно процитировать:

awk '$5=="ADD"' infile.txt > outfile.txt 

или же сделать его переменной:

awk -v var="ADD" '$5==var' infile.txt > outfile.txt