shell勉強中のメモ。
三項演算子とは
構文
condition ? exprIfTrue : exprIfFalse
引数
-
condition
-
true
(真)かfalse
(偽)かの評価をしたい式
-
-
exprIfTrue
-
condition
がtrue
(真) と評価された場合に実行される式
-
-
exprIfFalse
-
condition
がfalse
(偽)と評価された場合に実行される式
-
たとえば
$ seq 4 | awk '{print $1%2 ? $1"奇数":$1"偶数"}'
1奇数 #2の剰余が1(条件式は真)
2偶数 #2の剰余が0(条件式は偽
3奇数 #2の剰余が1(条件式は真)
4偶数 #2の剰余が0(条件式は偽
$
seq 4
で
1
2
3
4
を出力した後、引数÷2($1%2
)で判定しています。
awkでは条件式の値が0や空白、空文字の場合に偽です。
参考