我有2個文件,我想加入的第一列: 文件1包含46395029線和文件2包含86510559.合併/連接兩個大文件
FILE1.TXT
>ID sequence
CJP75M1:393:C2T21ACXX:8:1101:2069:1997 1:N:0:_45 TAGTATTACGACG
CJP75M1:393:C2T21ACXX:8:1101:2711:1992 1:N:0:_65 TCCGAGGCCCTGTAATTGGAATGAGTAC
CJP75M1:393:C2T21ACXX:8:1101:3822:1989 1:N:0:_115 CCGGAGAGGGAGCCTGAGAAACGGCTACCAC
FILE2.TXT
>ID Barcode
CJP75M1:393:C2T21ACXX:8:1101:2069:1997 1:N:0:_45 CTCG
CJP75M1:393:C2T21ACXX:8:1101:2711:1992 1:N:0:_65 CTAG
CJP75M1:393:C2T21ACXX:8:1101:3822:1989 1:N:0:_115 CTGG
我想合併第一科拉姆這兩個文件有:
>TAGTATTACGACG CTCG
TCCGAGGCCCTGTAATTGGAATGAGTAC CTAG
CCGGAGAGGGAGCCTGAGAAACGGCTACCAC CTGG
僅在文件1中需要行,因此結果文件應該包含「僅」46395029行。 我使用awk做到了:
awk 'BEGIN {FS= "\t"; OFS="\t"} { while (getline < "file1.txt") { f[$1] = $2} {print $2, f[$1] }}' "file2.txt" | sed '1d' > result.txt
但它真的很長(2天正在運行)。我有一個64位/ 16G內存的Linux debian(穩定)服務器
任何想法? 由於
是否在文件中以某種方式排列「鍵」? – fge
好奇心,爲什麼java標籤和C標籤? – fge
不,他們不是。事實上,在文件2中我有所有的ID,而在文件1中,這是一個子集 – user1845261