split — 파일 분할
Linux / 리눅스 기본 명령어 / split.html
큰 파일을 크기나 줄 수 기준으로 여러 조각으로 나누는 명령어.
기본 정보
| 명령어 이름 | split |
|---|---|
| 한 줄 소개 | 큰 파일을 크기나 줄 수 기준으로 여러 조각으로 나누는 명령어. |
| 제공 | GNU coreutils |
| 공식 문서 | https://man7.org/linux/man-pages/man1/split.1.html |
| 지원 운영체제 | Linux, macOS, BSD, WSL |
| 설치 여부 | 기본 탑재 |
| 분류 | 리눅스 기본 명령어 (태그: 리눅스 기본 명령어 (태그: split, 분할, 조각, 대용량)) |
이 명령어는 무엇인가?
split은 입력 파일을 지정한 줄 수(-l)나 바이트 수(-b)로 나누어 xaa, xab 같은 이름의 조각 파일을 만듭니다. 조각은 cat으로 그대로 이어 붙일 수 있습니다.
-d로 숫자 접미사를, -a로 접미사 길이를, --additional-suffix로 확장자를 지정합니다. 로그를 압축·전송하기 좋은 크기로 자를 때 자주 사용합니다.
어떤 문제를 해결하는가?
- 대용량 로그를 전송 가능한 크기로 자를 때
- 병렬 처리를 위해 입력을 여러 조각으로 나눌 때
- 메일 첨부 제한에 맞춰 파일을 분할할 때
- 조각을 다시 합쳐 원본을 복원할 때
주요 기능
크기 기준 분할
-b로 바이트 단위 크기를 지정합니다.
- 활용 상황: 전송 단위로 자를 때
- 얻는 결과: 정해진 크기의 조각이 만들어집니다.
- 제한 사항: 줄 중간에서 잘릴 수 있습니다.
줄 수 기준 분할
-l로 줄 수를 지정합니다.
- 활용 상황: 텍스트를 논리 단위로 나눌 때
- 얻는 결과: 줄 경계가 유지됩니다.
- 제한 사항: 조각마다 크기가 달라집니다.
이름 규칙
-d, -a, --additional-suffix로 이름을 제어합니다.
- 활용 상황: 후속 스크립트가 이름 규칙에 의존할 때
- 얻는 결과: 정렬과 확장자가 일관됩니다.
- 제한 사항: 기존 파일을 덮어쓸 수 있어 주의가 필요합니다.
설치 및 실행
설치 여부 확인
split --version
sudo apt install coreutils # Debian/Ubuntu sudo dnf install coreutils # Fedora
실제 사용 예제
줄 수로 나누기
1000줄씩 나눕니다.
split -l 1000 app.log part-
크기로 나누기
10MB씩 나눕니다.
split -b 10M backup.tar.gz backup-
다시 합치기
조각을 순서대로 이어 붙입니다.
cat part-* > app.log