如何使用awk
代码我可以保存snp和exons
仅当我的文件snp
中的snp.csv
列属于start
和{{ 1 {} end
文件。
我更愿意这样做。
对于exons.csv
列
Snp
小于end
Snp
大于end
时,请检查Snp
是否小于start
。这是Snp
snp.csv
我正在尝试将上述内容与 Chr Snp Gene
1 7 121851009 Gm15500
2 7 121851032 Gm15500
3 7 121851035 Gm15500
4 7 121851036 Gm15500
5 7 121851045 Gm15500
6 7 121851081 Gm15500
exons.csv
`
答案 0 :(得分:0)
由于您的样品不清楚特别预期的输出,因此根据您的评论,此解决方案仅为:
awk 'FNR==NR && FNR>1{start[FNR]=$3;end[FNR]=$4;next} FNR>1{for(i in start){if(end[i]>$3 && start[i]<$3){print}}}' exons.csv snp.csv
如果满足所有条件,则打印来自snp.csv的行,如果要从exons.csv打印行,则使用以下内容。
awk 'FNR==NR && FNR>1{complete[FNR]=$0;start[FNR]=$3;end[FNR]=$4;next} FNR>1{for(i in start){if(end[i]>$3 && start[i]<$3){print complete[i]}}}' exons.csv snp.csv