본문 바로가기

지식생활/명령어

Linux - split 명령어 옵션 정리

split : 큰파일을 여러 작은 파일로 나눌때 사용한다.


$ split tree tree_

$ ls -l

$ wc -l tree*

## 옵션없이 사용하면 분할파일뒤에 영문 2자리가 추가되어 구분합니다.

## 분할 기준은 하나의 파일이 1000라인으로 분할 됩니다.


## 옵션 정리


-a : 분할되는 파일뒤에 붙을 길이를 지정합니다.

$ split -a 3 tree tree_

$ ls -l


--additional-suffix : 분할파일 자릿수 뒤에 추가적으로 이름을 설정합니다.

$ split --additional-suffix=.txt tree tree_

$ ls -l


-b : 분할되는 기준을 바이트 크기로 분할합니다.

$ split -b 50000 tree tree_

$ ls -l

## 라인 중간에 분할 될수 있음 


-C : 라인을 기준으로 지정 바이트가 넘지 않도록 파일을 분할합니다.

$ split -C 50000 tree tree_

$ ls -l

##  라인 중간에 분할 안됨. 한라인계산하여 지정바이트로 분할함


-d : 분할 파일이름뒤에 영문이 아닌 숫자로 지정합니다. (0부터 시작)

$ split -d tree tree_

$ ls -l

## 89까지는 두자리이고 그 이후부터 9001로 네자리로 출력됨.

## 분할 파일이 90개를 넘어가면 -a으로 설정이 필요함.


--numeric-suffixes : -d 옵션과 동일하지만 시작값을 지정합니다.

$ split --numeric-suffixes=90 tree tree_

$ ls -l

## 기본 2자리이므로 99이후 생성안됨.

## 세자리 이상 지정시에 -a 옵션으로 설정이 필요함.


-l : 라인수 기준으로 파일을 분할 합니다.

$ split -l 1500 tree tree_

$ ls -l

$ wc -l tree_*

-n : 파일을 균등하게 1/N 나누어 분할합니다.

N : 몇 등분으로 나눌지 지정 합니다.

$ split -n 4 tree tree_

$ ls -l

K/N : (N)등분으로 파일을 분할 할 때 지정한(K) 번째를 출력합니다 (파일은 생성되지 않습니다)

$ split -n 2/4 tree tree_

l/N : (N)등분으로 파일을 분할 할 때 라인기준으로 바이트 계산하여 분할 합니다.

$ split -n l/4 tree tree_

$ ls -l

l/K/N : (N)등분으로 파일을 나눌때 라인기준으로 바이트 계산하여 (K)번째 를 출력합니다. (파일은 생성되지 않습니다.)

$ split -n l/2/4 tree tree_

r/N : (N)등분으로 파일을 분할할 때 라운드 로빈 방식으로 파일을 분할 합니다.

$ cat test

$ split -n r/4 test test_ 

$ ls -l

$ cat test_aa

$ cat test_ab

$ cat test_ac

$ cat test_ad


r/K/N : (N)등분으로 파일을 분할 할 때 라운드 로빈 방식으로 분할한 (K)번째를 출력합니다. (파일은 생성되지 않습니다.)

$ split -n r/2/4 test test_


--help : 도움말을 출력한다.

--version : 버전 정보를 출력한다.