ysum : 横集計する。
Usage : ysum [-d<str>] [+<n>h]
[num=<n>] <file>
Version : Tue Jul 19 16:00:07 JST 2016
Edition : 1
<file> ファイルの、同一レコード内の各フィールドの合計をレコード末に
追加します。"num=<n>" で指定したフィールドの次以降の全フィールドを集
計して最終フィールドの後に追加します。"num=<n>" を省略した場合は
"num=0" と同じ動作をします。
-d<str> を指定すると、フィールドが <str> の場合を 0 と扱います。
(元データ:data1)No 氏名 年齢 性別 教科別点数A B C D E
$ keta data1
0000000 浜地______ 50 F 91 59 20 76 54
0000001 鈴田______ 50 F 46 39 8 5 21
0000003 杉山______ 26 F 30 50 71 36 30
0000004 白土______ 40 M 58 71 20 10 6
0000005 崎村______ 50 F 82 79 16 21 80
0000007 梶川______ 42 F 50 2 33 15 62
教科別の点数(5フィールド目以降)を集計して最終フィールドの次に追加
します。
$ ysum num=4 data1 | keta
0000000 浜地______ 50 F 91 59 20 76 54 300
0000001 鈴田______ 50 F 46 39 8 5 21 119
0000003 杉山______ 26 F 30 50 71 36 30 217
0000004 白土______ 40 M 58 71 20 10 6 165
0000005 崎村______ 50 F 82 79 16 21 80 278
0000007 梶川______ 42 F 50 2 33 15 62 162
↑ フィールド 5~9 の値の集計
例2
+<n>h オプションを指定すると、先頭 <n> レコードをヘッダー行と看做し、
集計を行わず、集計値フィールドに "@" を追加します。<n> を省略して +h
とした場合は、第1レコードのみをヘッダー行と扱います。
(元データ:data2) No 氏名 年齢 性別 A B C D E
$ keta data2
No 氏名
年齢 性別 A B C D E
0000000 浜地______ 50 F 91 59 20 76 54
0000001 鈴田______ 50 F 46 39
8 5 21
0000003 杉山______ 26 F 30 50 71 36 30
0000004 白土______ 40 M 58 71 20
10 6
0000005 崎村______ 50 F 82 79 16 21 80
0000007 梶川______ 42 F 50 2 33
15 62
先頭行を飛ばして教科別の点数(5フィールド目以降)を集計して最終フィ
ールドの次に追加します。
$ ysum +h num=4 data2 | keta
No 氏名
年齢 性別 A B C D E @ <-
先頭行には"@"がつく
0000000 浜地______ 50 F 91 59 20 76 54
300
0000001 鈴田______ 50 F 46 39
8 5 21 119
0000003 杉山______ 26 F 30 50 71 36 30
217
0000004 白土______ 40 M 58 71 20
10 6 165
0000005 崎村______ 50 F 82 79 16 21 80
278
0000007 梶川______ 42 F 50 2 33
15 62 162
↑ フィールド 5~9 の値の集計