awk 확장 패턴 일치(이미 문자열과 일치하는 작업에 패턴 일치 포함)

awk 확장 패턴 일치(이미 문자열과 일치하는 작업에 패턴 일치 포함)

다음 형식의 문자열을 처리하고 싶습니다.

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"

관련 정보