我试图合并使用制表符分隔的txt文件
我尝试了join
命令,但无法得到我想要的结果
我把例子放在下面。
File1 : File2 :
chr1 100 chr1 200
chr1 200 chr1 300
chr1 300 chr1 400
chr1 400 chr1 500
chr1 500 chr1 600
当我尝试时:
join File1 File2 > File3
我得到了:
chr1 100 200
chr1 100 300
chr1 100 400
chr1 100 500
chr1 100 600
chr1 200 200
chr1 200 300
chr1 200 400
chr1 200 500
chr1 200 600
chr1 300 200
chr1 300 300
chr1 300 400
chr1 300 500
chr1 300 600
chr1 400 200
chr1 400 300
chr1 400 400
chr1 400 500
chr1 400 600
chr1 500 200
chr1 500 300
chr1 500 400
chr1 500 500
chr1 500 600
这是我想要的结果:
chr1 100 200
chr1 200 300
chr1 300 400
chr1 400 500
chr1 500 600
答案 0 :(得分:3)
你也可以提取第二列 File2 并将其粘贴到 File1 :
$ awk '{print $2}' file2 | paste file1 -
chr1 100 200
chr1 200 300
chr1 300 400
chr1 400 500
chr1 500 600
答案 1 :(得分:0)
你可以使用这个awk:
awk -v OFS='\t' 'FNR==NR{a[$1,FNR]=$0;next} ($1,FNR) in a{print a[$1,FNR], $2}' f1 f2
chr1 100 200
chr1 200 300
chr1 300 400
chr1 400 500
chr1 500 600