다음 알고리즘으로 파일을 분할하고 싶습니다. split -l ${MAX_NUMBER_OF_LINES} filename.csv ${new_file_pattern}.
Bash : 2 개의 요인/변수로 분할
그러나 원래의 요구 사항은 다음과 같습니다
이 CSV는 alpabetically (sort -k2 -n file.csv
)
은 현재 내가 동일한 라인의 수의 파일을 분할하려면이 명령을 실행할 수 있습니다 이전 이름으로 정렬 3600 선이 : 청크로 분할 ${MAX_NUMBER_OF_LINES}
UNLESS 열 2의 첫 번째 문자가있는 레코드가 더 이상 존재하지 않습니다.
예 : 내가 ${MAX_NUMBER_OF_LINES} = 3
인 경우 열의 마지막 첫 문자의 통화가 더 이상 발견되지 않으면 파일을 300 줄로 분할 할 수 있습니다.
LINE 301에 "Arboreal Peaches"라는 레코드가있는 경우 ${MAX_NUMBER_OF_LINE}
이 이미 도달했는지에 관계없이 스크립트는 현재 청크에 추가해야합니다.
일종의 혼란 설명이다 ... 내가 너희 중에 누구든지 나를 도울 수 있기를 바랍니다
UPDATE
${MAX_NUMBER_OF_LINES} = 3
예 CSV 적은과 ((난 이미이 알고리즘 2 일 소요) 법선 목적을위한 라인). 분할 명령은 $ {MAX_NUMBER_OF_LINES를}에 도달하지만, 라인 (4)이 이미 문자로
'Aberdeen Research", 'Los Angeles', 'California'
'Aplueyo Labs", 'Los Angeles', 'US'
'Acar Media Group", 'Los Angeles', 'US'
'Aberdeen Research", 'San Jose', 'US'
'Beethoven Inc", 'San Jose', 'US'
예상 된 결과를 기록을 가지고
분할 된 파일
1
'Aberdeen Research", 'Los Angeles', 'California'
'Aplueyo Labs", 'Los Angeles', 'US'
'Acar Media Group", 'Los Angeles', 'US'
'Aberdeen Research", 'San Jose', 'US'
2
'Beethoven Inc", 'San Jose', 'US'
파일 및 원하는 결과물을 실행할 수있는 샘플을 게시하는 것은 어떻습니까? –
@JamesBrown가 이미 업데이트되었습니다! 당신의 도움을 주셔서 감사합니다! – rcastellanosm