[英]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.