我有两个文件,我试图从每个文件中提取第三列并将它们组合在一起。如何将它们并排组合成一个表?
file1="maize.txt"
file2="wheat.txt"
awk -F '{print $3}' file1
awk -F '{print $3}' file2
"wheat.txt"
chr - b73_chr10 B73-Chr10 0 150189435
chr - w22_chr7 W22-Chr7 0 176764762
chr - w22_chr8 W22-Chr8 0 175793759
"maize.txt"
chr - w22_chr9 W22-Chr9 0 156750706
chr - w22_chr10 W22-Chr10 0 150189435
chr - w22_chr6 W22-Chr6 0 169174353
Output :
b73_chr10 w22_chr9
w22_chr7 w22_chr10
w22_chr8 w22_chr6
答案 0 :(得分:3)
使用awk你可以这样做:
awk -v OFS='\t' 'FNR==NR{a[FNR]=$3; next} {print a[FNR], $3}' wheat.txt maize.txt
b73_chr10 w22_chr9
w22_chr7 w22_chr10
w22_chr8 w22_chr6
答案 1 :(得分:1)
您正在寻找的工具是paste
。您可以编写一个函数来提取上面定义的第3个字段。
$ f3() { awk '{print $3}' "$1"; }; paste <(f3 wheat.txt) <(f3 maize.txt)
b73_chr10 w22_chr9
w22_chr7 w22_chr10
w22_chr8 w22_chr6