我正在尝试使用mvn verify
计算标头并将其用作字段编号。我的问题有两个:
awk
已接近,但我需要一些专家帮助以使其更好。谢谢你:)。
awk
as忽略字段标题并使用文本定义字段(有时字段5以NM_开头,其他时间是LRG_),如RefSeqGene.txt所示。我认为这是因为并非所有字段都有文本,但标题是一致的。
我只想拉出awk
=“参考标准”
AWK
$10
面板genes.txt的示例(用于搜索RefSeqGene.txt)
awk 'FNR==NR {E[$1]; next }$3 in E {print $3, $5}' panel_genes.txt RefSeqGene.txt > update.txt
RefSeqGene.txt的例子
ACTA2
BRAF
BHLHB9
所需的输出
#tax_id GeneID Symbol RSG LRG RNA t Protein p Category
9606 59 ACTA2 NG_011541.1 NM_001613.2 NP_001604.1 reference standard
9606 59 ACTA2 NG_011541.1 NM_001141945.1 NP_001135417.1 reference standard
9606 673 BRAF NG_007873.3 LRG_299 NM_004333.4 t1 NP_004324.2 p1 reference standard
9606 80823 BHLHB9 NG_021340.1 NM_001142524.1 NP_001135996.1 aligned
9606 80823 BHLHB9 NG_021340.1 NM_001142525.1 NP_001135997.1 aligned
9606 80823 BHLHB9 NG_021340.1 NM_001142526.1 NP_001135998.1 aligned
答案 0 :(得分:2)
这个单行提供了您想要的输出:
awk 'FNR==NR{a[$0];next}
$(NF-1)$NF=="referencestandard" && $3 in a{print $3, ($5~/^NM_/?$5:$6)}' file1 file2
$(NF-1)$NF=="referencestandard"
会检查您的$10
$5
以NM_
开头,我们会接受,否则,我们会$6