datamash
私は経験豊富なユーザーであることを知っていますawk
。 ratioを探していますawk
。以下があるとしましょう。
// data_file
foo bar biz
10 100 1000
11 150 990
10 95 1010
9 99 950
// usage goal, in pseudo code
cat data_file | <tool> --ratio foo,bar --ratio foo,biz --ratio bar,biz
// desired output
foo bar biz foo_bar foo_biz bar_biz
10 100 1000 0.1 0.01 0.1
11 150 990 0.073 0.011 0.1515
10 95 1010 0.105 0.0099 0.094
9 99 950 0.09 0.0095 0.1042
このインターフェースを得るために、C++で簡単なものを作りましょう。
それまでUnixには簡単な解決策がありますか?
ベストアンサー1
ミラーの使用(https://github.com/johnkerl/miller)と実行
mlr --pprint put '$foo_bar=$foo/$bar;$foo_biz=$foo/$biz;$bar_biz=$bar/$biz' input >output
あなたは
foo bar biz foo_bar foo_biz bar_biz
10 100 1000 0.100000 0.010000 0.100000
11 150 990 0.073333 0.011111 0.151515
10 95 1010 0.105263 0.009901 0.094059
9 99 950 0.090909 0.009474 0.104211