Linux 명령어: split 사용법

Linux split 명령어 사용법입니다. -l, -b, -C, -d, -a, --additional-suffix 옵션과 나눈 파일을 다시 합치는 방법을 예제로 정리했습니다.

Linux 명령어: split 사용법

split은 큰 파일을 여러 개의 작은 파일로 나누는 명령어다. 로그 파일을 일정 줄 수로 나누거나, 대용량 파일을 전송 가능한 크기로 쪼갤 때 유용하다.

예제 파일 만들기

mkdir -p ~/split-lab
cd ~/split-lab

seq -f "line-%04g" 1 25 > sample.log
wc -l sample.log
head sample.log

줄 수 기준으로 나누기: -l

split -l 10 sample.log part-
ls -lh
wc -l part-*

part-aa, part-ab, part-ac처럼 suffix가 붙는다.

byte 크기 기준으로 나누기: -b

split -b 100 sample.log bytes-
ls -lh bytes-*

문자 수 기준: -C

-C는 line을 가능한 유지하면서 지정한 크기 이하로 나눈다. 텍스트 로그를 나눌 때 -b보다 보기 좋을 수 있다.

split -C 100 sample.log chunk-
wc -c chunk-*
cat chunk-aa

숫자 suffix 사용: -d

split -l 10 -d sample.log numeric-
ls -lh numeric-*

suffix 자리수 지정: -a

split -l 5 -d -a 3 sample.log fixed-
ls -lh fixed-*

확장자 붙이기: --additional-suffix

split -l 10 -d -a 2 --additional-suffix=.log sample.log app-
ls -lh app-*.log

다시 합치기

split으로 나눈 파일은 이름 순서대로 붙이면 하나로 복원된다.

cat app-*.log > restored.log
cmp sample.log restored.log && echo "same file"

마무리

split을 쓸 때는 줄 기준이면 -l, byte 기준이면 -b, 텍스트 줄을 보존하고 싶으면 -C를 선택한다. 나중에 합칠 계획이 있으면 suffix 규칙을 명확히 정해 파일 순서가 틀어지지 않게 해야 한다.

BGM EVER