首页 > 解决方案 > awk : 有条件的恢复线

问题描述

我想通过仅保留与列中的模式匹配的一些行来从另一个文件创建一个文件。

基础文件的一部分:

"1","rs543921925","ENSG00000187634","ENST00000616125","intron_variant"
"2","rs543921925","ENSG00000187634","ENST00000620200","intron_variant"
"3","rs543921925","ENSG00000187634","ENST00000617307","intron_variant"
"4","rs146327803","ENSG00000187634","ENST00000420190","missense_variant"
"5","rs146327803","ENSG00000187634","ENST00000437963","missense_variant"
"6","rs146327803","ENSG00000187634","ENST00000342066","missense_variant"
"7","rs146327803","ENSG00000187634","ENST00000618181","missense_variant"

我想要的文件:

"4","rs146327803","ENSG00000187634","ENST00000420190","missense_variant"
"5","rs146327803","ENSG00000187634","ENST00000437963","missense_variant"
"6","rs146327803","ENSG00000187634","ENST00000342066","missense_variant"
"7","rs146327803","ENSG00000187634","ENST00000618181","missense_variant"

我试过了:

awk -F'"' '$9 ~ /missense_variant/ { print $0 }'base_file.txt

但它不起作用。

标签: awkgrep

解决方案


我认为有时最好使用实际的文件分隔符。

$ awk -F, '$NF=="\"missense_variant\"" base_file.txt

可能是你想要的。


推荐阅读