次の形式の文字列を処理したいと思います。
PREFIX_TYPE_N,DATA
では、*awk(gawk, mawk, nawk) は、すでに文字列と一致するジョブにパターン一致を含めることをサポートしていますか?次のようなもの(もちろん私には効果がありません):
*awk 'BEGIN { FS="," }
/PREFIX/ {
/TYPE_1/ {printf "[TYPE1] [DATA: $2]"} // <-- included pattern
/TYPE_2/ {printf "[TYPE2] [DATA: $2]"} // <-- another included pattern
... // <-- some more included patterns
}' "filename"
それともまだif/elseまたはスイッチ/ケースが必要ですか?
答え1
これはうまくいきますが、私は専門家ではないので、待つとより良い答えがあるかもしれません。
*awk 'BEGIN { FS="," }
/PREFIX/ {
if ($0 ~ /TYPE_1/) {printf "[TYPE1] [DATA: $2]"} // <-- included pattern
if ($0 ~ /TYPE_2/) {printf "[TYPE2] [DATA: $2]"} // <-- another included pattern
... // <-- some more included patterns
}' "filename"