큰 CSV를 청크로 분할하는 명령 - 개행 사용

큰 CSV를 청크로 분할하는 명령 - 개행 사용

나는 이 명령을 사용하여 큰 CSV 파일을 작은 덩어리로 분할합니다 split. 각 파일에는 다음이 포함되어야 합니다.단 1000줄.

내가 사용하는 명령은

cat large.csv | split -a3 -l1000  --filter='gzip > $FILE.gz' - small.csv_

작동하지만 문제는 CSV에 개행 문자가 있고 행 1000에서 나오면 모든 것이 중단된다는 것입니다.

예를 들어:

Row no 1000:

1001 | my_first_name | my_last_name | Address: 2001,appartment
my_city | my_country | pin-610156

4열에는 개행 문자가 있으며 2줄을 차지합니다. 분할 명령은 1000행이 끝나고 Address: 2001,appartment다음 행이 새 파일로 이동한다고 가정합니다. 이로 인해 2개의 파일이 손상됩니다.

  1. 1000행의 파일 - 남은 열 없음(파일:10으로 가정)
  2. 다음 파일(파일 11) 은 my_city- 처음 4개 열은 여기서 시작하지 않습니다.

이 파일을 데이터베이스에 로드할 때 문제가 있습니다.

이 문제를 해결할 수 있는 방법이나 해결 방법이 있나요?

관련 정보