Linux, Mac OS 터미널에서 큰 csv 파일 분할

김가람휘·2022년 10월 31일
0

1단계

split [-l line_count] [-b byte_count] [-n chunk_count] [file [prefix]]
  • 줄 - 텍스트 기반 파일에 유용
  • 바이트 - 바이너리 파일용
  • number - 파일을 특정 수의 부분으로 분할하려는 경우

분할 사용 및 생성된 파일 이름 바꾸기

split -l 100000 -d filename.csv file_

2단계

for i in $(find file_*); do mv $i "$i.csv"; done
  • file_로 시작하는 모든 파일을 반복하고 이름을 추가하여 csv파일로 변환

3단계

for i in $(find . -type f -name "file_*.csv" -not -name "file_00.csv");
	do echo -e "$(head -1 file_00.csv)\n$(cat $i)" > $i;
done
  • 생성된 파일에 csv헤더 추가

0개의 댓글