Tukubaiオンラインコマンドマニュアル - ysum(1)
ysum(1)
【名前】
ysum
: 横集計
【書式】
Usage : ysum [+h] [num=<n>] <file> Version : Sat Jun 20 21:57:23 JST 2020 Edition : 1
【説明】
<file>
ファイルの、同一行内の各フィールドの合計を行末に追加する。
で指定したフィールドの次以降の全フィールドを集計して最終フィールドの後に追加する。num=<n>
を省略した場合、num=<n>
num=0
と同じ動作をする。<file>
として-
を指定すると標準入力を使用する。
【例1】
$ cat data 0000000 浜地______ 50 F 91 59 20 76 54 ←番号 氏名 年齢 性別 教科別点数A B C D E 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 data 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 $
【例2】
+h
オプションを指定すると先頭行以外の行を集計する。先頭行が項目名などのヘッダーのデータなどに使用する。このとき先頭行の集計値フィールドには@が追加される。
先頭行を飛ばして教科別の点数(5フィールド目以降)を集計して最終フィールドの次に追加するには次のようにコマンドを実行する。
$ cat data No 氏名 年齢 性別 A B C D E ←番号 氏名 年齢 性別 教科別点数A B C D 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 $
$ ysum +h num=4 data | 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 $