parsecsv

텍스트 필드의 CSV 문자열을 파싱하여 각 컬럼을 필드로 추출합니다.

명령어 속성

항목설명
명령어 유형가공 쿼리
필요 권한없음
라이선스 사용량해당 없음
병렬 실행지원
분산 실행미지원

문법

parsecsv [field=FIELD] [overlay={t|f}] [tab={t|f}] [strict={t|f}] [FIELD [, FIELD ...]]

옵션

field=FIELD
파싱 대상 필드 이름 (기본값: line)
overlay={t|f}
t 지정 시 원본 레코드의 필드를 유지하면서 파싱된 필드를 덮어씁니다. 생략하면 파싱된 필드만 출력합니다. (기본값: f)
tab={t|f}
t 지정 시 구분자로 탭 문자를 사용합니다. 생략하면 쉼표(,)를 구분자로 사용합니다. (기본값: f)
strict={t|f}
t 지정 시 RFC 4180 기준으로 엄격하게 파싱합니다. (기본값: f)

대상

FIELD
각 컬럼에 대응하는 필드 이름. 쉼표(,)로 구분하여 여러 이름을 순서대로 지정합니다. 생략하면 column0, column1, ... 형태로 자동 지정됩니다.

입력 필드

필드타입필수 여부설명
line문자열조건부파싱 대상 필드 (기본값). field 옵션으로 다른 필드를 지정할 수 있습니다.

출력 필드

필드타입설명
column0, column1, ...문자열CSV 각 컬럼의 값. 필드 이름을 지정하면 해당 이름으로 출력합니다.

오류 코드

오류 코드가 없습니다.

설명

parsecsv 명령어는 지정한 필드의 CSV 문자열을 파싱하여 각 컬럼 값을 필드로 추출합니다. 필드 이름을 지정하면 각 컬럼에 대응하는 이름이 사용되고, 생략하면 column0, column1, ... 형태로 자동 지정됩니다.

사용 예

  1. CSV 문자열 파싱

    json "{'line': '192.0.2.1,GET,/index.html,200,1024'}" | parsecsv
    

    line 필드의 CSV 문자열을 파싱하여 column0, column1, column2, column3, column4 필드를 생성합니다.

  2. 필드 이름을 지정하여 파싱

    json "{'line': '192.0.2.1,GET,/index.html,200,1024'}" | parsecsv src_ip, method, uri, status, bytes
    

    CSV 문자열을 파싱하여 각 컬럼을 src_ip, method, uri, status, bytes 필드로 추출합니다.

  3. 탭 구분 문자열 파싱

    json "{'line': '192.0.2.1\tGET\t/index.html\t200\t1024'}" | parsecsv tab=t src_ip, method, uri, status, bytes
    

    탭 문자를 구분자로 사용하여 각 컬럼을 지정한 필드 이름으로 추출합니다.

호환성

parsecsv 명령어는 소나 4.0 이전 버전부터 제공되었습니다.