我想识别那些在它的第5列上有句号(。)的行,并将第3列作为输出,因为我有标记来识别行。我想出了这个:
awk '{if ($5 = ".") {print $3}}' file.vcf
但是我的文件最初有42行,而这个结果有60行,所以我的代码显然有问题。
wc -l file.vcf
42
awk '{if ($5 = ".") {print $3}}' file.vcf | wc -l
60
所以,期望的输出:具有第三列内容的列表(我的行的名称标签),以便识别哪些行具有句号"。"在第5栏。
有什么想法?谢谢! (我在macOSsierra终端上,顺便说一下。)
答案 0 :(得分:2)
尝试:
awk '{if ( $5 ~ /\./ ) { print $3} }' file.vcf
基本上,检查第五列是否包含句点(。);如果是,请打印第三列