awk グループ col1 の日付年と月、col2 のグループ合計

awk グループ col1 の日付年と月、col2 のグループ合計

コマンドラインスクリプトを使用して以下のデータをグループ化して合計する方法についてのアイデアはありますか?

2018-02-01  10
2018-02-03  12
2018-03-01   1
2018-03-01  12
2018-04-12   9 
2019-01-12 213

上記のデータセットの予想結果

2018-02  22
2018-03  13
2018-04   9
2019-01 213

ベストアンサー1

この試み

$ awk '{a[substr($0,0,7)]+=$2}END{for(b in a){print b,a[b]}}' myfile
2018-02 22
2019-01 213
2018-03 13
2018-04 9
$

並べ替えるには、以下を追加してください。sort

$ awk '{a[substr($0,0,7)]+=$2}END{for(b in a){print b,a[b]}}' myfile | sort
2018-02 22
2018-03 13
2018-04 9
2019-01 213
$

おすすめ記事