[Linux] 대용량 파일, 로그 확인 및 분할 명령어

SOO·2022년 10월 7일
0

Linux

목록 보기
19/19

1. 최근 생성된 라인 기준으로 신규 파일 생성

$ tail -n 10000 Log.out > tail_log [&]

  • 최근 로그 순으로 10,000 라인만 잘라서 새 Log 파일을 생성한다.
  • 명령어 뒤에 & 를 붙이면 백그라운드에서 동작

2. 용량 기준으로 기존 파일 분할 (Split 명령어)

$ split -b 10m Log.out

  • 10m (메가바이트) 기준으로 파일을 분할하여 나눈다.
  • split Log.out 와 같이 옵션을 주지 않으면 1000줄 단위로 잘라 나눈다.
  • split 분할대상파일명 분할파일명접두사 : 분할 파일명 앞에 붙을 접두사를 지정
    split Log.out Log.out_ : 신규 생성된 파일은 아래의 형태와 같이 생성된다.
//기본 형태
aa
ab
ac
...

//접두사 옵션을 줄 경우
Log.out_aa
Log.out_ab
Log.out_ac
...

2-1. Split 명령어 옵션

1) a : 접미사의 길이를 지정 (분할되는 파일 뒤에 붙을 알파벳의 길이를 지정)
기본 옵션은 aa, ab, ac... 순서로 분할 파일명이 붙는다. -a 3 이라고 지정할 경우 aaa, aab, aac... 순서로 분할 파일명이 지정됨
2) b : 파일을 바이트 크기 단위로 분할하는 옵션

split -b 1k 파일명
//KB 킬로바이트
split -b 1000000k test.log

//MB 메가바이트
split -b 1000m test.log

3) l : 특정 라인 기준으로 분할하는 옵션

  • 참고) wc -l 파일명 : 대상 파일의 라인 수 확인
// 50만 라인 기준으로 분할
split -l 500000 test.log

2-2. 자른 파일 합치기

cat test.log_* > test.log.copy

3. 특정 문자열 찾아 파일 만들기

grep -n XXXX 파일명
grep -n XXXX 파일명 >> search.log

4. 참고 링크

[catalina
.out 파일 최근 10000라인으로 자르기] http://blog.iotinfra.net/?p=2998
[파일을 쪼개는 split 명령어 사용법] https://jhnyang.tistory.com/209
[리눅스 대용량 파일 나누기 - split 명령어] https://m.blog.naver.com/youngchanmm/221476733161

0개의 댓글