ある列のすべての要素を別の列のすべての要素に分割するには?

ある列のすべての要素を別の列のすべての要素に分割するには?

ファイルには2つの列があります。

1 2  
3 5  
4 8  
9 18  
3 5  
4 19

最初の列の各要素を2番目の列の各要素に分割し、その数も印刷したいと思います。たとえば、

1,2,1/2,  
1,5,1/5,  
1,8,1/8,  
1,18,1/18,  
1,19,1/19,  
3,5,3/5,  
4,19,4/19,  
3,2,3/2,  
3,5,3/8,  
3,19,3/19 and so on...   

助けてください どうすればいいですか?

ベストアンサー1

GNUパラレル

parallel echo "{1},{2}" :::: <(cut -d' ' -f1 file) :::: <(cut -d' ' -f2 file) |
awk -F, '{ print $1,$2,$1"/"$2,$1/$2 }' OFS=, OFMT='%.2g'

出力:

1,2,1/2,0.5
1,5,1/5,0.2
1,8,1/8,0.12
1,18,1/18,0.056
1,5,1/5,0.2
1,19,1/19,0.053
3,2,3/2,1.5
3,5,3/5,0.6
3,8,3/8,0.38
3,18,3/18,0.17
3,5,3/5,0.6
3,19,3/19,0.16
4,2,4/2,2
4,5,4/5,0.8
4,8,4/8,0.5
4,18,4/18,0.22
4,5,4/5,0.8
4,19,4/19,0.21
9,2,9/2,4.5
9,5,9/5,1.8
9,8,9/8,1.1
9,18,9/18,0.5
9,5,9/5,1.8
9,19,9/19,0.47
3,2,3/2,1.5
3,5,3/5,0.6
3,8,3/8,0.38
3,18,3/18,0.17
3,5,3/5,0.6
3,19,3/19,0.16
4,2,4/2,2
4,5,4/5,0.8
4,8,4/8,0.5
4,18,4/18,0.22
4,5,4/5,0.8
4,19,4/19,0.21

おすすめ記事