다음 형식의 문자열을 처리하고 싶습니다.
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"