한개의 파일을 여러 파일로 (데이터 분할)
command to split the file into multiple files
한개의 파일을 여러 파일로 분할하는 방법
- 데이터의 사이즈가 너무 크게 되면 메모리에 올릴 수 없다.
- 파일 하나를 shuf하거나 다른 작업을 할때, 메모리가 넘칠 수 있다.
- 하나의 파일을 여러개의 파일로 분할하자
- 파일의 개수와, 행의 개수를 지정 한다.
코드
awk -F'|' -v fileformat="/abc/output/file_%04d.txt" -v max=3 -v field=5 '
NR == 1 {header = $0; next}
! ($field in seen) {
seen[$field]
if (++n % max == 1) {
close(out)
out = sprintf(fileformat, ++f)
print header > out
}
}
{print > out}' < /abc/input/a.txt
'기타 > Shell script, bash' 카테고리의 다른 글
쉘(Shell)에서 중복단어 제거하기 (0) | 2021.05.03 |
---|---|
쉘(Shell)에서 POST시 json 데이터에 변수 넣기 (0) | 2021.05.03 |
쉘(Shell)에서 파일 읽어 변수로 저장 (0) | 2021.05.03 |
쉘 특정 컬럼 더하기 (0) | 2021.05.03 |
스크립트 에러시 메시지 전송 (0) | 2021.05.02 |
쉘에서 날짜 반복문 (0) | 2021.05.02 |
쉘프로그래밍 (shell script, bash) (0) | 2021.03.24 |
[Shell Script] 쉘스크립트 - if 문 (0) | 2021.03.17 |