【发布时间】:2019-09-08 16:54:24
【问题描述】:
我有以下两个文件
BC.txt
"PB.50262.10"; UMI=AGCGGCCT; BC=TTTCAGCGCCGA;
"PB.50262.10"; UMI=AAGCGGCC; BC=TTTCAGCGCCGA;
PB.txt
c4 PB tr 41258945 41270445 . + . g_i "PB.50262"; t_i "PB.50262.10";
c4 PB Ex 41258945 41259026 . + . g_i "PB.50262"; t_i "PB.50262.10";
c4 PB Ex 41259626 41259754 . + . g_i "PB.50262"; t_i "PB.50262.10";
c4 PB Ex 41262664 41262814 . + . g_i "PB.50262"; t_i "PB.50262.10";
我正在尝试将 BC.txt 的 Col1 与 PB.txt 的 Col12 进行比较,并将匹配项彼此相邻打印。对于 BC.txt 的 col1 中的相同值,在 col2 和 Col3 中具有不同的值。因此,在比较时,我只得到 BC.txt 的一个条目的输出。但我想要所有人。
awk 'BEGIN {OFS=FS} NR==FNR {a[$1]=($2" "$3);next} $12 in a {print $0,a[$12]}' BC.txt PB.txt
预期输出
c4 PB tr 41258945 41270445 . + . g_i "PB.50262"; t_i "PB.50262.10"; UMI=AGCGGCCT; BC=TTTCAGCGCCGA;
c4 PB Ex 41258945 41259026 . + . g_i "PB.50262"; t_i "PB.50262.10"; UMI=AGCGGCCT; BC=TTTCAGCGCCGA;
c4 PB Ex 41259626 41259754 . + . g_i "PB.50262"; t_i "PB.50262.10"; UMI=AGCGGCCT; BC=TTTCAGCGCCGA;
c4 PB Ex 41262664 41262814 . + . g_i "PB.50262"; t_i "PB.50262.10"; UMI=AGCGGCCT; BC=TTTCAGCGCCGA;
c4 PB tr 41258945 41270445 . + . g_i "PB.50262"; t_i "PB.50262.10"; UMI=AAGCGGCC; BC=TTTCAGCGCCGA;
c4 PB Ex 41258945 41259026 . + . g_i "PB.50262"; t_i "PB.50262.10"; UMI=AAGCGGCC; BC=TTTCAGCGCCGA;
c4 PB Ex 41259626 41259754 . + . g_i "PB.50262"; t_i "PB.50262.10"; UMI=AAGCGGCC; BC=TTTCAGCGCCGA;
c4 PB Ex 41262664 41262814 . + . g_i "PB.50262"; t_i "PB.50262.10"; UMI=AAGCGGCC; BC=TTTCAGCGCCGA;
我想将 BC.txt 的所有条目与 PB.txt 的条目进行比较;但由于它的值相同,我的代码无法正常工作。
【问题讨论】:
标签: for-loop if-statement awk