contents

sc

terminalで動くスプレッドシート。 viとexcelが使えれば、すぐ覚えられそう。

セクションの編集

入力

csv or tsvなら、pscでsc形式にしてからscに読み込み可能。

hao@deb2% cat /proc/stat | head -1                                          [~]
cpu  3919081 78553761 5471193 301684316 8735695 12 72414 211688 0 0
hao@deb2% cat /proc/stat | head -1 | cut -d' ' -f2-7                        [~]
 3919268 78553761 5471341 301686010 8735713
hao@deb2% for i in {1..10}                                                  [~]
for> do
for> cat /proc/stat | head -1 | cut -d' ' -f2-7
for> sleep 1
for> done
 3919275 78553761 5471355 301689821 8736179
 3919275 78553761 5471357 301689921 8736179
 3919276 78553761 5471357 301690020 8736179
 3919277 78553761 5471358 301690120 8736179
 3919277 78553761 5471359 301690218 8736181
 3919278 78553761 5471360 301690318 8736181
 3919278 78553761 5471361 301690416 8736183
 3919278 78553761 5471362 301690516 8736183
 3919278 78553761 5471363 301690615 8736183
 3919278 78553761 5471364 301690715 8736183
hao@deb2% for i in {1..10}                                                  [~]
do
cat /proc/stat | head -1 | cut -d' ' -f2-7
sleep 1
done | psc
let A0 = 3919361
let B0 = 78555722
let C0 = 5471481
let D0 = 301691544
let E0 = 8736185
let A1 = 3919362
let B1 = 78555817
  :
  :
let D9 = 301691544
let E9 = 8736185
format A 8 0 0
format B 9 0 0
format C 8 0 0
format D 10 0 0
format E 8 0 0
hao@deb2% for i in {1..10}                                                  [~]
do
cat /proc/stat | head -1 | cut -d' ' -f2-7
sleep 1
done | psc | sc
sc 7.16:  Type '?' for help.

       A        B       C        D        E        F         G         H
  0  3919370 78559738 5471643 301694474 8736287
  1  3919370 78559738 5471644 301694573 8736287
  2  3919370 78559738 5471645 301694673 8736287
  3  3919370 78559738 5471646 301694773 8736287
  4  3919370 78559738 5471647 301694873 8736287
  5  3919371 78559738 5471648 301694972 8736287
  6  3919371 78559738 5471649 301695070 8736289
  7  3919371 78559738 5471650 301695170 8736289
  8  3919371 78559738 5471651 301695270 8736289
  9  3919371 78559738 5471653 301695369 8736289
 10
 11
セクションの編集

合計とか

A0-E0を合計してF0に。

F0にカーソル移動して'='で数式を入力。

i> let F0 = @sum(a0:e0)

       A        B       C        D        E        F         G         H
  0  3919370 78559738 5471643 301694474 8736287
  1  3919370 78559738 5471644 301694573 8736287
  2  3919370 78559738 5471645 301694673 8736287
  3  3919370 78559738 5471646 301694773 8736287
  4  3919370 78559738 5471647 301694873 8736287
  5  3919371 78559738 5471648 301694972 8736287
  6  3919371 78559738 5471649 301695070 8736289
  7  3919371 78559738 5471650 301695170 8736289
  8  3919371 78559738 5471651 301695270 8736289
  9  3919371 78559738 5471653 301695369 8736289
 10
 11
F0 (10 2 0) [@sum(A0:E0)]

       A        B       C        D        E        F         G         H
  0  3919370 78559738 5471643 301694474 8736287**********
  1  3919370 78559738 5471644 301694573 8736287
  2  3919370 78559738 5471645 301694673 8736287
  3  3919370 78559738 5471646 301694773 8736287
  4  3919370 78559738 5471647 301694873 8736287

桁あふれして表示できなくなるので、 'f'でフォーマット調整。 フォーマット調整モードでは、l:広げる、h:縮める、k:小数部広げる、j:小数部縮める (要するに右/左がviのキーバインドで、上/下が小数部に割り当てられている)のキーで調整、 リターンで確定。

使える関数は、@sum,@prod,@avg,@count,@max,@min,@stddev。

セクションの編集

セルコピー

F0に入力した計算式をF1:F9にコピー。 コピー元のセルで'ma'、コピー先のセルで'ca'。'm'/'c'がマーク/コピーで、'a'はラベル。viのマークと同じ。

F列の行ごとの差分を取ってG列に。 G1で、'=f1-f0'。

さらにこれを、G2:G9にコピー。

  • G1で、'rc' (range copy)
  • コピー先範囲を聞いてくるので、'g2:g9'
G1 (10 2 0) [F1-F0]

       A        B       C        D        E         F         G         H
  0  3919370 78559738 5471643 301694474 8736287  398381512
  1  3919370 78559738 5471644 301694573 8736287  398381612    100.00
  2  3919370 78559738 5471645 301694673 8736287  398381713    101.00
  3  3919370 78559738 5471646 301694773 8736287  398381814    101.00
  4  3919370 78559738 5471647 301694873 8736287  398381915    101.00
  5  3919371 78559738 5471648 301694972 8736287  398382016    101.00
  6  3919371 78559738 5471649 301695070 8736289  398382117    101.00
  7  3919371 78559738 5471650 301695170 8736289  398382218    101.00
  8  3919371 78559738 5471651 301695270 8736289  398382319    101.00
  9  3919371 78559738 5471653 301695369 8736289  398382420    101.00
セクションの編集

列コピー

F列の差分であるG列をD列にも作る。

  • E列にカーソルを置いて"ic"(insert column)。
  • G列に移動して"yc" (yank column)
  • E列(さっき作った空の列)に移動して"pC" (pull column) <-- "pc"じゃないことに注意
H3 (10 2 0) [G3-G2]

       A        B       C        D         E        F         G         H
  0  3919370 78559738 5471643 301694474           8736287  398381512
  1  3919370 78559738 5471644 301694573     99.00 8736287  398381711    199.00
  2  3919370 78559738 5471645 301694673    100.00 8736287  398381813    102.00
  3  3919370 78559738 5471646 301694773    100.00 8736287  398381914    101.00
  4  3919370 78559738 5471647 301694873    100.00 8736287  398382015    101.00
  5  3919371 78559738 5471648 301694972     99.00 8736287  398382115    100.00
  6  3919371 78559738 5471649 301695070     98.00 8736289  398382215    100.00
  7  3919371 78559738 5471650 301695170    100.00 8736289  398382318    103.00
  8  3919371 78559738 5471651 301695270    100.00 8736289  398382419    101.00
  9  3919371 78559738 5471653 301695369     99.00 8736289  398382519    100.00
セクションの編集

保存

形式を保持して保存

ZZ
Last modified: 2015-07-26 by hiroshi.ohtsuka@u...