簡體   English   中英

使用bash腳本將來自不同文件的兩列並排合並到一個表中

[英]Combine two columns from different files into one table side-by-side using bash script

我有兩個文件,我試圖從每個文件中提取第三列並將它們組合在一起。如何將它們並排組合成一個表?

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

使用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

您要尋找的工具是paste 您可以編寫一個函數來提取上面定義的第三個字段。

$ f3() { awk '{print $3}' "$1"; }; paste <(f3 wheat.txt) <(f3 maize.txt)

b73_chr10       w22_chr9
w22_chr7        w22_chr10
w22_chr8        w22_chr6

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM