「ysum」の版間の差分

提供: Personal Tukubai for Academic
ナビゲーションに移動 検索に移動
(Batch Update)
 
(Batch Update)
 
18行目: 18行目:
 
=== 例(その1) ===
 
=== 例(その1) ===
  
(元データ:data1)No 氏名 年齢 性別 教科別点数A B C D E
+
(元データ: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フィールド目以降)を集計して最終フィールドの次に追加します。
+
教科別の点数(5フィールド目以降)を集計して最終フィールドの次に追加します。
  
 
<pre>$ ysum num=4 data1 | keta
 
<pre>$ ysum num=4 data1 | keta
41行目: 41行目:
 
+&lt;n&gt;h オプションを指定すると、先頭 &lt;n&gt; レコードをヘッダー行と看做し、集計を行わず、集計値フィールドに “@” を追加します。&lt;n&gt; を省略して +hとした場合は、第1レコードのみをヘッダー行と扱います。
 
+&lt;n&gt;h オプションを指定すると、先頭 &lt;n&gt; レコードをヘッダー行と看做し、集計を行わず、集計値フィールドに “@” を追加します。&lt;n&gt; を省略して +hとした場合は、第1レコードのみをヘッダー行と扱います。
  
(元データ:data2) No 氏名 年齢 性別 A B C D E
+
(元データ: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フィールド目以降)を集計して最終フィールドの次に追加します。
+
先頭行を飛ばして教科別の点数(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