Desde que você possa usar o número de campos NF
para determinar se está faltando, você pode fazer
awk 'NR==FNR {a[]=; next} NF<11 { = a[] OFS } {print}' b.txt a.txt
Se você quiser embelezar a saída, canalize-a em column -t
:
$ awk 'NR==FNR {a[]=; next} NF<11 { = a[] OFS } {print}' b.txt a.txt | column -t
SNP CHR POS EFFECT_ALLELE NON_EFFECT_ALLELE EAF BETA SE PVALUE INFO HWE
chr:1:10177:AC:A 1 10177 A AC 0.376827 -0.0447626 0.0316126 0.156783 0.422784 0.936182
chr:1:10352:TA:T 1 10352 T TA 0.43176 0.00727013 0.0309617 0.814356 0.427932 0.680802