잘못된 데이터를 새 파일로 필터링한 다음 삭제하는 방법은 무엇입니까?

잘못된 데이터를 새 파일로 필터링한 다음 삭제하는 방법은 무엇입니까?

다음은 제가 정렬한 샘플 데이터입니다(3개 열).

CustomerId, fname, lname, email, 성별, 구매 금액, 신용 카드, 거래 ID, 거래 날짜, 거리, 도시, 주, 우편 번호, 전화

<redacted>

다음 명령을 사용하여:

awk -F ',' '{ state = $12 ? $12: "exceptions.csv"; print}' < "03_conv_gender.tmp" > "04_filter_bad_data.tmp"

각 행에 {state} 값이 누락되었는지 확인하고, 누락된 경우 "Exceptions.csv"라는 새 파일에 넣습니다.

"04_filter_bad_data.tmp"에서 원본 불량 데이터를 어떻게 제거합니까? 아니면 이를 수행하는 더 좋은 방법이 있습니까?

답변1

awk -F, '{ print >($12==""?"badData.csv":"goodData.csv") }' infile

그러면 입력 파일이 빈 열 #12(상태필드)가 파일에 기록됩니다."잘못된 데이터.csv"그렇지 않으면 쓰여질 것입니다"좋은 데이터.csv"결과물 파일.

관련 정보