https://pt.usp-lab.com/index.php?title=sm5&feed=atom&action=history
sm5 - 版の履歴
2024-03-29T10:06:31Z
このウィキのこのページに関する変更履歴
MediaWiki 1.35.1
https://pt.usp-lab.com/index.php?title=sm5&diff=205&oldid=prev
Pt4a editor: Batch Update
2021-08-27T05:50:22Z
<p>Batch Update</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="ja">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← 古い版</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">2021年8月27日 (金) 05:50時点における版</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >1行目:</td>
<td colspan="2" class="diff-lineno">1行目:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== 名前 ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== 名前 ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>sm5 : <del class="diffchange diffchange-inline">大計を出す。</del></div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>sm5 : <ins class="diffchange diffchange-inline">大計を出す</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== 書式 ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== 書式 ==</div></td></tr>
<!-- diff cache key ptwikidb-pt4a:diff::1.12:old-149:rev-205 -->
</table>
Pt4a editor
https://pt.usp-lab.com/index.php?title=sm5&diff=149&oldid=prev
Pt4a editor: Batch Update
2021-06-07T08:37:27Z
<p>Batch Update</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="ja">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← 古い版</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">2021年6月7日 (月) 08:37時点における版</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l13" >13行目:</td>
<td colspan="2" class="diff-lineno">13行目:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== 説明 ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== 説明 ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&lt;file&gt; <del class="diffchange diffchange-inline">ファイルに大計(全行トータル)レコードを追加します。</del>&lt;d1&gt; から&lt;d2&gt; までのフィールド又は dummy=&lt;dummy&gt; で指定したフィールドをダミーフィールド、&lt;s1&gt; から &lt;s2&gt; までのフィールド又は val=&lt;val&gt; で指定したフィールドを集計フィールドとして、各集計フィールドの全合計レコードを最終行に挿入します。&lt;s1&gt; &lt;s2&gt; を指定した場合は従来記法、dummy=&lt;dummy&gt;を指定した場合はキーワード記法となります。&lt;dummy&gt; は以下の2形式が可能です。</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&lt;file&gt; <ins class="diffchange diffchange-inline">ファイルに大計(全行トータル)レコードを追加します。</ins>&lt;d1&gt; から&lt;d2&gt; までのフィールド又は dummy=&lt;dummy&gt; で指定したフィールドをダミーフィールド、&lt;s1&gt; から &lt;s2&gt; までのフィールド又は val=&lt;val&gt; で指定したフィールドを集計フィールドとして、各集計フィールドの全合計レコードを最終行に挿入します。&lt;s1&gt; &lt;s2&gt; を指定した場合は従来記法、dummy=&lt;dummy&gt;を指定した場合はキーワード記法となります。&lt;dummy&gt; は以下の2形式が可能です。</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><pre>1. 1 (通常形式)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><pre>1. 1 (通常形式)</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l168" >168行目:</td>
<td colspan="2" class="diff-lineno">168行目:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>© 2021 Universal Shell Programming Laboratory [https://www.usp-lab.com/ site]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>© 2021 Universal Shell Programming Laboratory [https://www.usp-lab.com/ site]</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:man]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:man]]</div></td></tr>
<!-- diff cache key ptwikidb-pt4a:diff::1.12:old-93:rev-149 -->
</table>
Pt4a editor
https://pt.usp-lab.com/index.php?title=sm5&diff=93&oldid=prev
Pt4a editor: Batch Update
2021-04-13T09:12:59Z
<p>Batch Update</p>
<p><b>新規ページ</b></p><div>== 名前 ==<br />
<br />
sm5 : 大計を出す。<br />
<br />
== 書式 ==<br />
<br />
使い方とオプション<br />
<br />
=== Usage ===<br />
<br />
<pre>sm5 [+&lt;n&gt;h] [-d&lt;string&gt;] &lt;d1&gt; &lt;d2&gt; &lt;s1&gt; &lt;s2&gt; &lt;file&gt;<br />
sm5 [+&lt;n&gt;h] [-d&lt;string&gt;] [dummy=&lt;dummy&gt;] [val=&lt;val&gt;]</pre><br />
== 説明 ==<br />
<br />
&lt;file&gt; ファイルに大計(全行トータル)レコードを追加します。&lt;d1&gt; から&lt;d2&gt; までのフィールド又は dummy=&lt;dummy&gt; で指定したフィールドをダミーフィールド、&lt;s1&gt; から &lt;s2&gt; までのフィールド又は val=&lt;val&gt; で指定したフィールドを集計フィールドとして、各集計フィールドの全合計レコードを最終行に挿入します。&lt;s1&gt; &lt;s2&gt; を指定した場合は従来記法、dummy=&lt;dummy&gt;を指定した場合はキーワード記法となります。&lt;dummy&gt; は以下の2形式が可能です。<br />
<br />
<pre>1. 1 (通常形式)<br />
2. 1/4 (範囲形式 連続したフィールドの指定)</pre><br />
集計フィールドが指定されなかったときは、従来記法では &lt;d2&gt; で指定したフィールドの次以降の全フィールド、キーワード記法ではダミーフィールド以外の全フィールドを集計します。合計レコードのダミーフィールドは “@”文字で補完されます。<br />
<br />
キーワード記法で集計フィールドのみが指定され、ダミーフィールドが指定されなかった場合は、集計フィールド以外の全フィールドがダミーフィールドになります。<br />
<br />
“@” だけのダミーフィールドを持つレコードは集計から除外されます。この機能により、tagsm4 が付与した “@” の小計、中計行を除外して、大計を計算することができます。<br />
<br />
いずれの記法においても、ダミーフィールド、集計対象フィールドの順でなけれなりません。 また、全てのフィールドが、いずれかに指定されなければなりません。<br />
<br />
+&lt;n&gt;h を指定した場合、最初の &lt;n&gt; 行はヘッダーとみなされ、集計の対象とならず、そのまま出力されます。&lt;n&gt; を省略した場合は先頭行のみがヘッダーとみなされます。<br />
<br />
-d&lt;string&gt; オプションでダミー文字列を変更することができます。この場合、フィールドの幅によらず、常に &lt;string&gt; が各ダミーフィールドに挿入されます。集計除外対象は、ダミーフィールドが &lt;string&gt; のレコードになります。<br />
<br />
=== 例(その1) ===<br />
<br />
<pre>各都市での調査データ<br />
$ cat data<br />
01 埼玉県 01 さいたま市 91 59 20 76 54<br />
01 埼玉県 02 川越市 46 39 8 5 21<br />
01 埼玉県 03 熊谷市 82 0 23 84 10<br />
02 東京都 04 新宿区 30 50 71 36 30<br />
02 東京都 05 中央区 78 13 44 28 51<br />
02 東京都 06 港区 58 71 20 10 6<br />
02 東京都 07 八王子市 82 79 16 21 80<br />
02 東京都 08 立川市 50 2 33 15 62<br />
03 千葉県 09 千葉市 52 91 44 9 0<br />
03 千葉県 10 市川市 60 89 33 18 6<br />
03 千葉県 11 柏市 95 60 35 93 76<br />
04 神奈川県 12 横浜市 92 56 83 96 75<br />
04 神奈川県 13 川崎市 30 12 32 44 19<br />
04 神奈川県 14 厚木市 48 66 23 71 24</pre><br />
大計を出します。<br />
<br />
<pre>$ sm5 1 4 5 NF data &gt; data2<br />
$ cat data2<br />
01 埼玉県 01 さいたま市 91 59 20 76 54<br />
01 埼玉県 02 川越市 46 39 8 5 21<br />
01 埼玉県 03 熊谷市 82 0 23 84 10<br />
02 東京都 04 新宿区 30 50 71 36 30<br />
02 東京都 05 中央区 78 13 44 28 51<br />
02 東京都 06 港区 58 71 20 10 6<br />
02 東京都 07 八王子市 82 79 16 21 80<br />
02 東京都 08 立川市 50 2 33 15 62<br />
03 千葉県 09 千葉市 52 91 44 9 0<br />
03 千葉県 10 市川市 60 89 33 18 6<br />
03 千葉県 11 柏市 95 60 35 93 76<br />
04 神奈川県 12 横浜市 92 56 83 96 75<br />
04 神奈川県 13 川崎市 30 12 32 44 19<br />
04 神奈川県 14 厚木市 48 66 23 71 24<br />
@@ @@@@@@ @@ @@@@@@@@@@ 894 687 485 606 514</pre><br />
=== 例(その2) ===<br />
<br />
“sm4”で小計・中計を付与されたデータの場合<br />
<br />
<pre>$ cat data<br />
01 埼玉県 01 さいたま市 91 59 20 76 54<br />
01 埼玉県 02 川越市 46 39 8 5 21<br />
01 埼玉県 03 熊谷市 82 0 23 84 10<br />
01 埼玉県 @@ @@@@@@@@@@ 219 98 51 165 85<br />
02 東京都 04 新宿区 30 50 71 36 30<br />
02 東京都 05 中央区 78 13 44 28 51<br />
02 東京都 06 港区 58 71 20 10 6<br />
02 東京都 07 八王子市 82 79 16 21 80<br />
02 東京都 08 立川市 50 2 33 15 62<br />
02 東京都 @@ @@@@@@@@@@ 298 215 184 110 229<br />
03 千葉県 09 千葉市 52 91 44 9 0<br />
03 千葉県 10 市川市 60 89 33 18 6<br />
03 千葉県 11 柏市 95 60 35 93 76<br />
03 千葉県 @@ @@@@@@@@@@ 207 240 112 120 82<br />
04 神奈川県 12 横浜市 92 56 83 96 75<br />
04 神奈川県 13 川崎市 30 12 32 44 19<br />
04 神奈川県 14 厚木市 48 66 23 71 24<br />
04 神奈川県 @@ @@@@@@@@@@ 170 134 138 211 118<br />
<br />
$ sm5 1 4 5 NF data &gt; data2<br />
(data2)<br />
01 埼玉県 01 さいたま市 91 59 20 76 54<br />
01 埼玉県 02 川越市 46 39 8 5 21<br />
01 埼玉県 03 熊谷市 82 0 23 84 10<br />
01 埼玉県 @@ @@@@@@@@@@ 219 98 51 165 85<br />
02 東京都 04 新宿区 30 50 71 36 30<br />
02 東京都 05 中央区 78 13 44 28 51<br />
02 東京都 06 港区 58 71 20 10 6<br />
02 東京都 07 八王子市 82 79 16 21 80<br />
02 東京都 08 立川市 50 2 33 15 62<br />
02 東京都 @@ @@@@@@@@@@ 298 215 184 110 229<br />
03 千葉県 09 千葉市 52 91 44 9 0<br />
03 千葉県 10 市川市 60 89 33 18 6<br />
03 千葉県 11 柏市 95 60 35 93 76<br />
03 千葉県 @@ @@@@@@@@@@ 207 240 112 120 82<br />
04 神奈川県 12 横浜市 92 56 83 96 75<br />
04 神奈川県 13 川崎市 30 12 32 44 19<br />
04 神奈川県 14 厚木市 48 66 23 71 24<br />
04 神奈川県 @@ @@@@@@@@@@ 170 134 138 211 118<br />
@@ @@@@@@ @@ @@@@@@@@@@ 894 687 485 606 514</pre><br />
=== 例(その3) ===<br />
<br />
-d<string> オプション<br />
<br />
<pre>$ cat data<br />
01 埼玉県 01 さいたま市 91 59 20 76 54<br />
01 埼玉県 02 川越市 46 39 8 5 21<br />
01 埼玉県 03 熊谷市 82 0 23 84 10<br />
02 東京都 04 新宿区 30 50 71 36 30<br />
02 東京都 05 中央区 78 13 44 28 51<br />
02 東京都 06 港区 58 71 20 10 6<br />
02 東京都 07 八王子市 82 79 16 21 80<br />
02 東京都 08 立川市 50 2 33 15 62<br />
03 千葉県 09 千葉市 52 91 44 9 0<br />
03 千葉県 10 市川市 60 89 33 18 6<br />
03 千葉県 11 柏市 95 60 35 93 76<br />
04 神奈川県 12 横浜市 92 56 83 96 75<br />
04 神奈川県 13 川崎市 30 12 32 44 19<br />
04 神奈川県 14 厚木市 48 66 23 71 24<br />
<br />
$ sm5 -d+++ 1 4 5 NF data &gt; data2<br />
01 埼玉県 01 さいたま市 91 59 20 76 54<br />
01 埼玉県 02 川越市 46 39 8 5 21<br />
01 埼玉県 03 熊谷市 82 0 23 84 10<br />
02 東京都 04 新宿区 30 50 71 36 30<br />
02 東京都 05 中央区 78 13 44 28 51<br />
02 東京都 06 港区 58 71 20 10 6<br />
02 東京都 07 八王子市 82 79 16 21 80<br />
02 東京都 08 立川市 50 2 33 15 62<br />
03 千葉県 09 千葉市 52 91 44 9 0<br />
03 千葉県 10 市川市 60 89 33 18 6<br />
03 千葉県 11 柏市 95 60 35 93 76<br />
04 神奈川県 12 横浜市 92 56 83 96 75<br />
04 神奈川県 13 川崎市 30 12 32 44 19<br />
04 神奈川県 14 厚木市 48 66 23 71 24<br />
+++ +++ +++ +++ 894 687 485 606 514</pre><br />
== 備考 ==<br />
<br />
smツールの合わせ技<br />
<br />
データを集計する帳票をシェルで書く場合に非常によくあるパターンとして、「同じキーを集計して小計、中計を出して最後に大計(トータル)を出す」というものがあります。この様な場合は、sm2 sm4 sm5 を多段に組み合わせて使用します。<br />
<br />
<pre>cat data |<br />
sm2 1 6 7 NF | &lt;- 同一キーで集計<br />
sm4 1 4 5 6 7 NF | &lt;- 小計<br />
sm4 1 2 3 6 7 NF | &lt;- 中計<br />
sm5 1 6 7 NF &gt; result &lt;- 大計を出して終わり</pre><br />
== Version and Edition ==<br />
<br />
<blockquote>Version : Tue Jun 18 19:00:37 JST 2019<br />
</blockquote><br />
<blockquote>Edition : 1<br />
</blockquote><br />
<br />
-----<br />
<br />
© 2021 Universal Shell Programming Laboratory [https://www.usp-lab.com/ site]<br />
<br />
<br />
<br />
[[Category:man]]</div>
Pt4a editor