说明
需要f1:第一列为需要提取的行名,tab分割;
f2:第一列为行名
默认输出第一行
脚本
awk 'BEGIN{FS=OFS="\t"}NR==FNR{a[NR]=$1}NR>FNR&&FNR==1{print $0}NR>FNR{b[NR,$1]=$0}END{for(i=1;i<length(a)+1;i++){for(j=1;j<NR+1;j++){if(b[j,a[i]] != ""){print b[j,a[i]]}}}}' pheno.file matrix.02
####转换:
awk '
BEGIN{
FS=OFS="\t"
}NR==FNR{
a[NR]=$1
}NR>FNR&&FNR==1{
print $0
}NR>FNR{
b[NR,$1]=$0
}END{
for(i=1;i<length(a)+1;i++){
for(j=1;j<NR+1;j++){
if(b[j,a[i]] != ""){
print b[j,a[i]]
}
}
}
}' pheno.file matrix.02