2022/07/08¶
ターミナル上でちょっとした遊び¶
ターミナル上でいろんなコマンドを実行してみた
計算¶
shell上での計算といえば、bcかexpr?w
$ expr 1 + 1
2
$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+1
2
1-1
0
3*3
9
1.1+2
3.1
^C
(interrrupt) Exiting bc.
計算式を入力とするパターン¶
パイプラインでbcに渡してみる
$ echo "1+1"|bc
2
$ echo "3*3"|bc
9
入力を整形してから他の言語に渡す方法もあり
$ echo "1+1"|sed 's/^/print /'|ruby
$ seq 5|
seqで整数を生成して計算するパターン¶
※awkはgrepにプログラム機能をつけたようなもの
$ seq 5
1
2
3
4
5
$ seq 5| awk '{a+=$1}{print a}'
1
3
6
10
15
$ seq 5| awk '{a+=$1}{print a}'|xargs
1 3 6 10 15
$ seq 5| awk '{a+=$1}END{print a}'|xargs
15
$ seq 5 > number.txt
$ cat number.txt |awk '{a+=$1}END{print a}'
15
$ seq 5|awk '{printf("%s+",$1)}'|sed s/.$/"\n"/ |bc
15
まとめ¶
シェルで遊んでみた
ちょっとずついろんなことができるようになれるといいな
検索用タグ¶
shell, terminal, awk, sed, seq, bc