0
我需要合并两个文件的帮助。AWK将两个文件合并为更多条件
一号文件:
header1
raw1 spec1/W a b c d
raw2 spec2/W a c d d
raw3 spec3/W a d b b
第二个文件:
headerXX
headerY
headerZ
z a d a r z j z u o p 45600 raw1 a d spec1 b d a ....
d a r a f g h z u i d 6054 raw2 a f a s a spec2 ...
k o k o j o p s t d v 5000 raw3 d f a f g h ...
输出文件:
header1
raw1 spec1/W a b c d 45600
raw2 spec2/W a c d d 6054
raw3 spec3/W a d b b (there won't be number because no spec.)
我想从第一文件第13 $从第二个文件合并$第同时在第一个文件中以$ 16或$第二个文件分割$ 2(没有“/ W”)。如果匹配打印第一个文件,从第二个文件打印$ 12,如果不匹配打印$ 1文件。
如果它可以帮助你:
的第一场比赛:
awk -F'\t' -v OFS="\t" 'FNR==NR{a[$1]++; next}; $13 in a {print $0,??}'
和第二场比赛,我认为是这样的:
awk -F'\t' -v OFS="\t" '{split($2,a,"/") print $1,a[1],$2,$3,$4,$5,$6}' | awk 'FNR==NR{a[$2]++; next}; $16 || $19 in a {print $0,??}'
Tahnk你这么多。
我试图做到这一点的awk -F'\ t“FNR == NR {A [$ 1,$ 2];下一}(($ 13 $ 16) ||($ 13,$ 19)a){print $ 0}'file1 file2但它不起作用:-( – Vonton