シェルワンライナー160本ノック問題138
問題138 テストケースの作成
問題のファイルは
https://github.com/shellgei/shellgei160
からダウンロードできる。
ブレース展開でサクッと片づけられると思ったら全然片付かなくてダメだった。
解答例は
awk 'BEGIN{getline o<"os.csv";getline b<"browser.csv";getline s<"service.csv";split(o,os,",");split(b,br,",");split(s,sv,",");for(i in os)for(j in br)if((br[j]!="IE"||os[i]=="Windows")&&(br[j]!="Safari"||os[i]=="macOS"))for(k in sv)print os[i],br[j],sv[k];}'
となる。if文で問題の条件をうまく再現している。