awkで三項演算子を用いる
Pocket

awkでは、以下のように記述することで三項演算子を用いて条件に応じて処理を切り替えることができる。

(条件) ? true時の挙動 : false時の挙動
Sponsored Links

以下、いくつか例を記述してみる。

[blacknon@blacknon-ThinkPad-X201]% ~(`・ω・´)  < # 条件に応じて変数xの値を変える
[blacknon@blacknon-ThinkPad-X201]% ~(`・ω・´)  < echo 1|awk '{a=$1;(a==1) ? x="True!" : x="False!";print x}'
True!
[blacknon@blacknon-ThinkPad-X201]% ~(`・ω・´)  < echo 2|awk '{a=$1;(a==1) ? x="True!" : x="False!";print x}' 
False!
[blacknon@blacknon-ThinkPad-X201]% ~(`・ω・´)  < # 変数へ代入する値だけを変える                             
[blacknon@blacknon-ThinkPad-X201]% ~(`・ω・´)  < echo 1|awk '{a=$1;x= (a==1) ? "True!" : "False!"; print x}'
True!
[blacknon@blacknon-ThinkPad-X201]% ~(`・ω・´)  < echo 2|awk '{a=$1;x= (a==1) ? "True!" : "False!"; print x}'
False!

 

なお、if文のように挙動にprintなどの処理を記述することはできないので、基本は変数への代入などに利用するといいだろう。

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*