split
split 은 파일을 분할하는 명령어 입니다. 파일의 내용을 라인수로 분할할 수도 있고, 용량 단위로 분할 할수도 있습니다.
주로 디스켓에 파일을 나누어 복사하거나, 백업할 때 CD-RW 용량 단위로 분할할 경우에 유용합니다.
|
옵션
-b : 파일을 byte 단위로 분할
-l : 파일을 주어진 라인수 단위로 분할 |
'sendmail.cf' 파일은 기존에 56290byte입니다. 이걸 10000byte 단위로 나누어 보겠습니다.
|
[root@localhost leeahnlee]# ls -l 합계 68 -rw-r--r-- 1 root root 58290 6월 1 03:04 sendmail.cf [root@localhost leeahnlee]# split -b 10000 sendmail.cf [root@localhost leeahnlee]# ls -l 합계 164 -rw-r--r-- 1 root root 58290 6월 1 03:04 sendmail.cf -rw-r--r-- 1 root root 10000 6월 1 03:44 xaa -rw-r--r-- 1 root root 10000 6월 1 03:44 xab -rw-r--r-- 1 root root 10000 6월 1 03:44 xac -rw-r--r-- 1 root root 10000 6월 1 03:44 xad -rw-r--r-- 1 root root 10000 6월 1 03:44 xae -rw-r--r-- 1 root root 8290 6월 1 03:44 xaf |
생성될 파일의 이름을 특별히 지정해 주지 않는다면 xaa,xab,xac ... 와 같은 순으로 이름이 정해집니다.
다음은 10kbyte 단위로 나누어 보겠습니다. 끝에 이름도 지정합니다.
|
[root@localhost leeahnlee]# split -b 10k sendmail.cf send [root@localhost leeahnlee]# ls -l 합계 160 -rw-r--r-- 1 root root 10240 6월 1 03:48 sendaa -rw-r--r-- 1 root root 10240 6월 1 03:48 sendab -rw-r--r-- 1 root root 10240 6월 1 03:48 sendac -rw-r--r-- 1 root root 10240 6월 1 03:48 sendad -rw-r--r-- 1 root root 10240 6월 1 03:48 sendae -rw-r--r-- 1 root root 7090 6월 1 03:48 sendaf -rw-r--r-- 1 root root 58290 6월 1 03:04 sendmail.cf |
sendaa,sendab,sendac 와 같이 지정한 파일명 뒤에 aa,ab,ac 등이 순차적으로 붙는것을 볼수 있습니다.
다음은 라인별로 나누는걸 보겠습니다. 기존에 test파일에 1,2,3이 3라인에 걸쳐 작성되어있습니다.
이걸 -l 옵션으로 1줄씩 잘라보겠습니다.
|
[root@localhost leeahnlee]# cat test 1 2 3 [root@localhost leeahnlee]# split -l 1 test [root@localhost leeahnlee]# ls -l 합계 32 -rw-r--r-- 1 root root 6 6월 1 03:51 test -rw-r--r-- 1 root root 2 6월 1 03:51 xaa -rw-r--r-- 1 root root 2 6월 1 03:51 xab -rw-r--r-- 1 root root 2 6월 1 03:51 xac [root@localhost leeahnlee]# cat xaa 1 |
다음과 같이 한줄씩 잘리는게 확인됩니다. -l 옵션뒤에 수치를 지정하지 않는다면 기본값인 1000라인으로 분할됩니다.