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라인으로 분할됩니다.

'Linux > Linux 명령어' 카테고리의 다른 글

Linux 명령어 date  (0) 2013.06.02
Linux 명령어 wc  (1) 2013.06.02
Linux 명령어 find  (0) 2013.06.02
Linux 명령어 rm  (0) 2013.06.02
Linux 명령어 mv  (0) 2013.06.02