FPAT
변수를 사용하여 데이터의 구분 기호를 처리 할 수 있다는 것을 GNU page of GAWK에서 알 수 있었지만 어떻게 작동하는지는 알 수 없습니다. 포함 된 CSV 파일에 대한 FPAT 값은 다음과 같습니다 데이터가 다음 첫 번째 실패로 즉하지 쉼표,이 "abc"
을해야awk FPAT 변수 : 작동
abc,"pqr,mno"
첫 번째 그룹화 표현식은 모든 것을 평가 :
FPAT = "([^,]+)|(\"[^\"]+\")"
이 데이터를 사용하여 쉼표가 나타납니다. 이제 내 질문은 다음에 무슨 일입니까? 첫 번째 그룹화 된 표현식이 실패했기 때문에 쉼표 뒤에 또는 조건을 사용하여 정규 표현식이 계속됩니다? 첫 번째 그룹화 된 표현식은 쉼표 뒤에 모든 데이터에 대해 계속 유효하므로 다음 데이터로 "pqr
이 걸릴 수 있습니까?
내 질문에 왜 정규 표현식은 두 번째 패턴으로 시작하겠습니까? ", 데이터는 쉼표가 아니기 때문에 항상 [^,]를 사용할 수 있습니다. regexp는 욕심이 많으므로 첫 번째 일치를 찾습니다. 가장 오래 갈 것입니까? – ghub24
감사합니다. sudo_O, 많이 감사합니다. – ghub24
@ user1844303 가장 길게 갈 것입니다. 쉬운 테스트는 2 개의 정규식의 순서를 전환하는 것입니다. –