「ysum」の版間の差分
ナビゲーションに移動
検索に移動
Pt4a editor (トーク | 投稿記録) 細 (Batch Update) |
Pt4a editor (トーク | 投稿記録) 細 (Batch Update) |
||
18行目: | 18行目: | ||
=== 例(その1) === | === 例(その1) === | ||
− | + | (元データ:data1)No 氏名 年齢 性別 教科別点数A B C D E | |
<pre>$ keta data1 | <pre>$ keta data1 | ||
27行目: | 27行目: | ||
0000005 崎村______ 50 F 82 79 16 21 80 | 0000005 崎村______ 50 F 82 79 16 21 80 | ||
0000007 梶川______ 42 F 50 2 33 15 62</pre> | 0000007 梶川______ 42 F 50 2 33 15 62</pre> | ||
− | + | 教科別の点数(5フィールド目以降)を集計して最終フィールドの次に追加します。 | |
<pre>$ ysum num=4 data1 | keta | <pre>$ ysum num=4 data1 | keta | ||
41行目: | 41行目: | ||
+<n>h オプションを指定すると、先頭 <n> レコードをヘッダー行と看做し、集計を行わず、集計値フィールドに “@” を追加します。<n> を省略して +hとした場合は、第1レコードのみをヘッダー行と扱います。 | +<n>h オプションを指定すると、先頭 <n> レコードをヘッダー行と看做し、集計を行わず、集計値フィールドに “@” を追加します。<n> を省略して +hとした場合は、第1レコードのみをヘッダー行と扱います。 | ||
− | + | (元データ:data2) No 氏名 年齢 性別 A B C D E | |
<pre>$ keta data2 | <pre>$ keta data2 | ||
51行目: | 51行目: | ||
0000005 崎村______ 50 F 82 79 16 21 80 | 0000005 崎村______ 50 F 82 79 16 21 80 | ||
0000007 梶川______ 42 F 50 2 33 15 62</pre> | 0000007 梶川______ 42 F 50 2 33 15 62</pre> | ||
− | + | 先頭行を飛ばして教科別の点数(5フィールド目以降)を集計して最終フィールドの次に追加します。 | |
<pre>$ ysum +h num=4 data2 | keta | <pre>$ ysum +h num=4 data2 | keta | ||
72行目: | 72行目: | ||
© 2021 Universal Shell Programming Laboratory [https://www.usp-lab.com/ site] | © 2021 Universal Shell Programming Laboratory [https://www.usp-lab.com/ site] | ||
− | |||
[[Category:man]] | [[Category:man]] |
2021年6月7日 (月) 08:37時点における最新版
名前
ysum : 横集計する
書式
使い方とオプション
Usage
ysum [-d<str>] [+<n>h] [num=<n>] <file>
説明
<file> ファイルの、同一レコード内の各フィールドの合計をレコード末に追加します。“num=<n>” で指定したフィールドの次以降の全フィールドを集計して最終フィールドの後に追加します。“num=<n>” を省略した場合は“num=0” と同じ動作をします。
-d<str> を指定すると、フィールドが <str> の場合を 0 と扱います。
例(その1)
(元データ: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 の値の集計
Version and Edition
Version : Tue Jun 18 19:00:37 JST 2019
Edition : 1
© 2021 Universal Shell Programming Laboratory site