PowerShellでさくっと数列、集計

【HUGっと!プリキュア】オープニング主題歌 「We can!!HUGっと!プリキュア」

アニメ『HUGっと!プリキュア』(2018-2019)

すごい勢いでアニメを見まくってたら、とうとう見るものが少なくなってきて、そろそろプリキュアでも見ようか、となりました。
初代プリキュアから子供と一緒に見ていたので、だいたいパターンは知ってます。大きくなった子供に白い目で見られないように、こっそり見ないといけません。

今回もPowerShellです。

PowerShellで楽だなあと思うのは、

..(ドット2つ)

1..10と入力してEnter押すだけで、さくっと数列ができてしまいます。

PS C:\Users\takk\tmp> 1..10
1
2
3
4
5
6
7
8
9
10
PS C:\Users\takk\tmp>

1から10まで数列生成してくれますね。

bashだと、数字だけを入力しても当然、

takk@deb9~$ 1..10
bash: 1..10: コマンドが見つかりません
takk@deb9~$

コマンドと見なされるので、エラーになります。
ブレース展開しても一緒です。

takk@deb9~$ {1..10}
bash: 1: コマンドが見つかりません
takk@deb9~$

ちゃんとコマンドが必要になります。

takk@deb9~$ echo {1..10}
1 2 3 4 5 6 7 8 9 10
takk@deb9~$
takk@deb9~$ seq 1 10
1
2
3
4
5
6
7
8
9
10
takk@deb9~$

合計を計算しようとすると、

takk@deb9~$ echo {1..10} | sed 's/ / + /g' | xargs expr
55
takk@deb9~$

とてもめんどくさいです。

PowerShellなら、

PS C:\Users\takk\tmp> 1..10 | measure -sum


Count    : 10
Average  :
Sum      : 55
Maximum  :
Minimum  :
Property :



PS C:\Users\takk\tmp>

結果の55だけほしいなら、

PS C:\Users\takk\tmp> (1..10 | measure -sum).sum
55
PS C:\Users\takk\tmp>

で済みます。

コメント

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