[linux] split 명령어로 파일 분할하기
- IT
- 2020. 6. 10.
반응형
반응형
용량이 큰 로그 파일을 열어서 확인해야 하는 경우가 종종 있으실 텐데요.
용량이 아주 큰 경우 파일 여는데에만 한참 걸리고 특정 구문을 찾는 것도 쉽지가 않습니다.
이럴 때, split 명령어를 이용하시면 원하는 크기 또는 라인 단위로 파일을 쪼개서 사용을 할 수 있습니다.
그럼 다양한 예제를 통해 사용 방법을 확인해 보도록 하겠습니다.
예제에 사용할 로그 파일명은 "test_log'이며 총 11298 라인으로 이루어져 있고 크기는 1M입니다.
예제 1. split [파일명]
[root@linux-1 tmp]# split test_log
- x로 시작하는 파일이 12개 생생되었습니다.
[root@linux-1 tmp]# ls
test_log xaa xab xac xad xae xaf xag xah xai xaj xak xal
- 11개의 파일은 각 1000개의 라인으로 이루어져 있고, 마지막 파일만 298라인입니다.
[root@linux-1 tmp]# cat xaa | wc -l
1000
[root@linux-1 tmp]# cat xab | wc -l
1000
[root@linux-1 tmp]# cat xac | wc -l
1000
[root@linux-1 tmp]# cat xad | wc -l
1000
[root@linux-1 tmp]# cat xae | wc -l
1000
[root@linux-1 tmp]# cat xaf | wc -l
1000
[root@linux-1 tmp]# cat xag | wc -l
1000
[root@linux-1 tmp]# cat xah | wc -l
1000
[root@linux-1 tmp]# cat xai | wc -l
1000
[root@linux-1 tmp]# cat xaj | wc -l
1000
[root@linux-1 tmp]# cat xak | wc -l
1000
[root@linux-1 tmp]# cat xal | wc -l
298
예제 2. split -l [라인수] [파일명]
[root@linux-1 tmp]# split -l 2000 test_log
- 파일 다섯 개 생성이 되었고 각각 2000라인으로 구성되어 있습니다.
[root@linux-1 tmp]# ls
test_log xaa xab xac xad xae xaf
[root@linux-1 tmp]# cat xaa | wc -l
2000
[root@linux-1 tmp]# cat xab | wc -l
2000
[root@linux-1 tmp]# cat xac | wc -l
2000
[root@linux-1 tmp]# cat xad | wc -l
2000
[root@linux-1 tmp]# cat xae | wc -l
2000
[root@linux-1 tmp]# cat xae | wc -l
2000
[root@linux-1 tmp]# cat xaf | wc -l
1298
예제 3. split -d -l [라인수] [파일명]
[root@linux-1 tmp]# split -d -l 2000 test_log
- 이번엔 생성되는 파일의 이름을 ae, ab, ac.... 말고 숫자로 변경해 보았습니다.
[root@linux-1 tmp]# ls
test_log x00 x01 x02 x03 x04 x05
예제 4. split -d -l [라인수] [파일명] [prefix]
[root@linux-1 tmp]# split -d -l 2000 test_log num_
- 이번엔 생성되는 파일명을 직접 지정을 하였습니다. "num_"으로 지정을 하고 -d 옵션으로 뒤에는 숫자가 붙게 됩니다.
[root@linux-1 tmp]# ls
num_00 num_01 num_02 num_03 num_04 num_05 test_log
예제 5. split -d -b 100k [파일명] [prefix]
[root@linux-1 tmp]# split -d -b 100k test_log num_
- 이번엔 파일을 라인 단위로 분할하지 않고 크기 단위로 분할을 하였습니다.
- 메가(m), 기가(g ) 단위로도 분할을 할 수 있습니다.
[root@linux-1 tmp]# ls
num_00 num_02 num_04 num_06 num_08 num_10
num_01 num_03 num_05 num_07 num_09 test_log
- 크기 확인
[root@linux-1 tmp]# du -sh num_*
100K num_00
100K num_01
100K num_02
100K num_03
100K num_04
100K num_05
100K num_06
100K num_07
100K num_08
100K num_09
32K num_10
반응형
'IT' 카테고리의 다른 글
[Linux] SSL 인증서 만료일 확인 (0) | 2020.06.17 |
---|---|
[Linux] find 명령어 예제 (0) | 2020.06.16 |
[Linux] Apache(아파치) rotatelogs 설정 (0) | 2020.06.08 |
[IT생할] 원격데스크톱 연결 (0) | 2020.06.03 |
[Linux] NFS 서버 구축 (0) | 2020.05.31 |