Linuxpia/Linux 명령어

[리눅스 명령어] 파일을 분할하는 명령어, csplit

Linuxpia4U 2023. 8. 12. 06:46
반응형

파일을 분할하는 리눅스 명령어, csplit

`csplit`은 리눅스와 유닉스에서 사용되는 명령어로, 큰 텍스트 파일을 특정 패턴을 기준으로 여러 작은 파일로 분할하는 데 사용됩니다. `csplit`은 "context split"의 약자로, 주어진 조건이나 패턴을 만족하는 위치에서 파일을 분할합니다.

`csplit` 명령어 사용법

csplit [options] filename pattern...



여기서 `filename`은 분할할 파일의 이름이며, `pattern`은 분할의 기준이 되는 패턴입니다.

예를 들어, `data.txt`라는 파일이 있고, 이 파일을 각 "SECTION" 헤더에서 분할하려는 경우 다음과 같이 입력할 수 있습니다:

csplit data.txt '/SECTION/' '{*}'

위의 예에서 '{*}'은 '/SECTION/' 사례가 있으면 반복하라는 패턴입니다.

이 명령어는 "SECTION" 텍스트를 포함하는 각 줄에서 `data.txt` 파일을 분할하고, 결과 파일들을 `xx00`, `xx01`, `xx02` 등의 이름으로 저장합니다.

 

 


`csplit` 명령어 여러 유용한 옵션


- `-f prefix`: 생성되는 파일의 접두사를 지정합니다. 예를 들어, `-f section` 옵션은 결과 파일을 `section00`, `section01` 등의 이름으로 저장합니다.
- `-n number`: 생성되는 파일 이름에 사용되는 숫자의 자릿수를 지정합니다. 예를 들어, `-n 3` 옵션은 결과 파일을 `xx000`, `xx001` 등의 이름으로 저장합니다.
- `-s`: 이 옵션은 `csplit` 명령어가 생성하는 기본 출력을 억제합니다.


접두어로 'section'을 사용한 사례

접두어를 'section'을 사용한 경우에는 다음과 같은 파일이 만들어집니다. 명령어 "csplit -f section data '/For/' '{*}'"의 결과로 'section00', 'section01', 'section01' 파일로 분할 됐습니다.

 

반응형