コマンドを貼り付けて出力ファイルをフォーマットする

コマンドを貼り付けて出力ファイルをフォーマットする

複数のファイルがあります。

ファイルA

A: 18.49 RPKM    
C: 14.49 RPKM    
B: 18.89 RPKM

文書B

A: 21.29 RPKM    
C: 38.71 RPKM    
B: 36.13 RPKM

これら2つのファイルを貼り付けて、最初の列だけを一度印刷し、各ファイルの2番目の列を印刷したいと思います。

希望の出力(タブ区切り)

A:  18.49   21.29   
C:  14.49   38.71   
B:  18.89   36.13

貼り付けコマンドを使用しました。

paste FileA FileB | awk '{ { print $1} {ORS="\t"} for (i=2; i<=NF; i+=3) { print $i } {print "\n"} }'

私はこの出力を得る

ㅏ:

18.49 21.29

中:14.49 38.71

B:18.89 36.13

この問題を解決する方法を提案できますか?ありがとうございます! !

ベストアンサー1

すべてのUNIXシステムのすべてのシェルにあるawkの場合、入力ファイルの数に関係なく必要なものは次のとおりです。

$ paste FileA FileB | awk '{o=$1; for (i=2; i<NF; i+=3) o=o"\t"$i; print o}'
A:      18.49   21.29
C:      14.49   38.71
B:      18.89   36.13

おすすめ記事