感謝の達人 簡単なのに難しいSUM

数列

映画『神様はバリにいる』(2014)(堤真一 玉木宏 尾野真千子 ナオト・インティライミ 菜々緒)
借金を抱えた照川祥子は、人生の終わりの場所にバリを選びます。偶然出会ったアニキと呼ばれる大富豪に、成功するための秘訣を聞き、諦めずに頑張ります。
成功するための秘訣って、どの成功者も同じようなことを言ってる気がします。結局、ポジティブシンキングですよね。プラスの考えがプラスを呼ぶ。自分にも相手にもプラスになることをする。

関連気記事:Linux入門はこちら
中級者のためのLinuxコマンド入門

プラスになる計算をしてみます。
xを1から10まで数えて各数の総和を求めてみましょう。
perlとawkは似たような形になります。

~$ seq 10 | awk '{sum+=$1}END{print sum}'
55
~$ seq 10 | perl -ne '{$sum+=$_}END{print $sum,"\n"}'
55

bcやexprの場合です

takk~$ seq -s+ 10 | bc
55
takk~$ 
takk~$ expr `seq -s' + ' 10`
55
takk~$ 

R言語はsum関数を使います。

takk~$ R -q -e 'sum(1:10)'
> sum(1:10)
[1] 55
> 
> 
takk~$ 

次はファイルに列挙された数字のSUMです。
実験用ファイルを生成します。

takk~$ seq 30 | split -dl10
takk~$ head * | pr -t3 | expand
==> x00 <==             ==> x01 <==             ==> x02 <==
1                       11                      21
2                       12                      22
3                       13                      23
4                       14                      24
5                       15                      25
6                       16                      26
7                       17                      27
8                       18                      28
9                       19                      29
10                      20                      30
                        
takk~$ 

1ファイルだけなら、

takk~$ xargs < x00 | tr ' ' + | bc
55
takk~$ 

複数ファイルならfor文で回します。
SUMという計算はとても単純なのですが、コマンドラインで実現しようとすると、とても難しいですね。

takk~$ for i in *;do xargs < $i | tr ' ' + | bc;done
55
155
255
takk$ 

プラスになることをしたい時、一番簡単にできること言えば、「感謝」かなと思います。
毎日ごはんを食べられることにも感謝。健康でいられることにも感謝。
バリの人たちは感謝の達人らしいですが、映画でそれを知り、バリに行きたくなりました。

コメント

タイトルとURLをコピーしました